/* =========================================
   기본
========================================= */

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;

  font-family:
    "Pretendard",
    "Noto Sans KR",
    sans-serif;

  background: #f4efe6;
  color: #222;
}

button {
  font: inherit;
}

img {
  display: block;
  width: 100%;
}


/* =========================================
   페이지 전환
========================================= */

.page {
  display: none;
}

.page.active {
  display: block;
  animation: pageShow .5s ease;
}

@keyframes pageShow {

  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }

}


/* =========================================
   상단 메뉴
========================================= */

.header {

  width: 100%;
  height: 75px;

  padding: 0 2.7vw;

  display: flex;
  align-items: center;
  justify-content: space-between;

  position: sticky;
  top: 0;

  background: rgba(244,239,230,.94);
  backdrop-filter: blur(15px);

  border-bottom: 1px solid rgba(0,0,0,.08);

  z-index: 999;
}

.logo {

  border: 0;
  background: none;

  font-family: Georgia, serif;

  font-weight: bold;
  font-size: 22px;

  cursor: pointer;
}

nav {
  display: flex;
  gap: 38px;
}

nav button {

  border: 0;
  background: none;

  font-size: 13px;
  font-weight: 700;

  letter-spacing: 2px;

  cursor: pointer;
}


/* =========================================
   메인
========================================= */

.main-hero {

  min-height: calc(100vh - 75px);

  padding: 5.5vw 7.5vw;

  display: grid;

  grid-template-columns:
    minmax(0, 1.08fr)
    minmax(400px, .92fr);

  gap: 7vw;

  align-items: center;
}


/* 왼쪽 */

.main-copy {
  max-width: 720px;
}


.small-text,
.section-label {

  font-size: 13px;
  font-weight: 700;

  letter-spacing: 3px;

  color: #557243;
}


.main-copy h1 {

  margin: 30px 0;

  font-size: clamp(
    65px,
    7vw,
    115px
  );

  line-height: 1.04;

  letter-spacing: -6px;
}


.main-description {

  max-width: 550px;

  font-size: 18px;

  line-height: 1.9;
}


/* =========================================
   메인 사계절 버튼
========================================= */

.season-buttons {

  margin-top: 45px;

  display: flex;

  flex-wrap: wrap;

  gap: 10px;
}


.season-button {

  min-width: 105px;

  padding: 14px 20px;

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 12px;

  border: 1px solid #222;

  background: transparent;

  color: #222;

  cursor: pointer;

  transition: .3s;
}


.season-button span {

  font-family: Georgia, serif;

  color: #557243;
}


.season-button:hover {

  background: #222;

  color: white;
}


.season-button:hover span {
  color: white;
}


/* =========================================
   메인 오른쪽 사계절 이미지
========================================= */
.season-preview {

  width: 100%;

  display: grid;

  grid-template-columns: 1fr;

  gap: 12px;
}


.season-photo {

  width: 100%;

  height: 125px;

  padding: 0;

  position: relative;

  overflow: hidden;

  border: 0;

  background: #e9e3d8;

  cursor: pointer;
}


.season-photo img {

  width: 100%;
  height: 100%;

  object-fit: cover;

  transition: transform .5s;
}


.season-photo:hover img {
  transform: scale(1.04);
}


/* 어두운 덮개 제거 */
.season-photo::after {
  display: none;
}


/* 계절 이름 */
/* =========================================
   메인 계절 라벨 - 미니멀 버전
========================================= */

.season-photo-text {

  position: absolute;

  left: 18px;
  bottom: 16px;

  z-index: 2;

  display: inline-flex;
  align-items: center;

  gap: 13px;

  padding: 11px 16px;

  background: rgba(255,255,255,.92);

  border: 1px solid rgba(255,255,255,.75);

  border-radius: 0;

  box-shadow: none;

  backdrop-filter: blur(4px);

  transition: .25s ease;
}


/* hover도 아주 살짝만 */

.season-photo:hover .season-photo-text {

  transform: translateY(-2px);

  background: #fff;
}


/* 번호 */

.season-photo-text span {

  width: auto;
  height: auto;

  display: inline-block;

  padding-right: 13px;

  border-radius: 0;

  background: none;

  border-right: 1px solid rgba(0,0,0,.16);

  font-family: Georgia, serif;

  font-size: 17px;

  font-weight: 700;

  line-height: 1;

}


/* 계절명 */

.season-photo-text strong {

  font-size: 12px;

  font-weight: 700;

  letter-spacing: 3px;

  white-space: nowrap;
}

/* ==============================
   계절별 라벨 색상
============================== */
/* SPRING */
.season-preview .season-photo:nth-child(1) .season-photo-text span,
.season-preview .season-photo:nth-child(1) .season-photo-text strong {
  color: #6f8b4c;
}


/* SUMMER */
.season-preview .season-photo:nth-child(2) .season-photo-text span,
.season-preview .season-photo:nth-child(2) .season-photo-text strong {
  color: #487d9e;
}


/* AUTUMN */
.season-preview .season-photo:nth-child(3) .season-photo-text span,
.season-preview .season-photo:nth-child(3) .season-photo-text strong {
  color: #97653c;
}


/* WINTER */
.season-preview .season-photo:nth-child(4) .season-photo-text span,
.season-preview .season-photo:nth-child(4) .season-photo-text strong {
  color: #5e758d;
}
/* =========================================
   공통
========================================= */

.section-wrap,
.story-section {

  max-width: 1250px;

  margin: auto;

  padding: 120px 6vw;
}


.big-title {

  margin: 12px 0 60px;

  font-size: clamp(40px, 6vw, 70px);

  letter-spacing: -3px;
}


.clickable {
  cursor: pointer;
}


/* =========================================
   계절
========================================= */

.season-cover {

  min-height: 70vh;

  padding: 10vw;

  display: flex;

  flex-direction: column;

  justify-content: center;
}


.spring-cover {
 background: #cdd3c1;
}


.summer-cover {
  background: #d9e6e3;
}


.autumn-cover {
  background: #ded1bb;
}


.winter-cover {
  background: #dfe3e5;
}


.season-en {

  font-family: Georgia, serif;

  font-size: 20px;

  letter-spacing: 5px;
}


.season-cover h1 {

  max-width: 800px;

  margin: 10px 0 30px;

  font-size: clamp(50px, 7vw, 90px);

  line-height: 1.1;

  letter-spacing: -4px;
}


.season-cover > p:last-child {

  max-width: 650px;

  font-size: 18px;

  line-height: 1.9;
}


.season-coming-text {

  max-width: 650px;

  font-size: 19px;

  line-height: 1.9;

  color: #666;
}

/* =========================================
   봄 - 팀 선택
========================================= */

#spring .section-wrap {
  padding-top: 105px;
  padding-bottom: 125px;
}


/* OUR TEAM */

#spring .section-wrap .section-label {
  margin: 0 0 18px;

  font-size: 12px;
  font-weight: 700;

  letter-spacing: 4px;

  color: #557243;
}


/* 봄의 이야기를 만든 사람들 */

#spring .section-wrap .big-title {
  margin: 0 0 55px;

  font-size: clamp(44px, 5vw, 66px);

  line-height: 1.12;

  letter-spacing: -3.5px;

  font-weight: 700;

  color: #222;
}


/* 카드 배치 */

.team-grid {
  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: 22px;
}


/* 카드 */

.team-card {
  min-height: 245px;

  padding: 28px 30px 30px;

  position: relative;

  display: flex;
  flex-direction: column;
  justify-content: space-between;

  background: #ece6db;

  border: 1px solid rgba(73,100,56,.10);

  box-shadow:
    0 5px 18px rgba(0,0,0,.025);

  overflow: hidden;

  transition:
    transform .3s ease,
    background .3s ease,
    box-shadow .3s ease,
    border-color .3s ease;
}


/* 상단에 아주 얇은 포인트 선 */

.team-card::before {
  content: "";

  position: absolute;

  top: 0;
  left: 0;

  width: 0;
  height: 3px;

  background: #7fa05a;

  transition: width .35s ease;
}


/* 번호 */

.team-card span {
  margin-bottom: auto;

  font-family: Georgia, serif;

  font-size: 27px;
  font-weight: 400;

  line-height: 1;

  color: #a18a6e;
}


/* 팀 이름 */

.team-card h3 {
  margin: 60px 0 0;

  max-width: 190px;

  font-size: 23px;

  font-weight: 650;

  line-height: 1.45;

  letter-spacing: -1px;

  word-break: keep-all;

  color: #222;
}


/* hover */

.team-card:hover {
  transform: translateY(-7px);

  background: #e5ead7;

  border-color: rgba(85,114,67,.22);

  box-shadow:
    0 15px 30px rgba(0,0,0,.07);
}


.team-card:hover::before {
  width: 100%;
}

/* =========================================
   팀 / 카페 커버
========================================= */

.sub-cover,
.sosa-hero {

  min-height: 60vh;

  padding: 9vw;

  display: flex;

  flex-direction: column;

  justify-content: center;

  background: #ae957a;

  color: white;
}


.sub-cover h1,
.sosa-hero h1 {

  margin: 15px 0;

  font-size: clamp(50px, 7vw, 90px);

  line-height: 1.1;

  letter-spacing: -4px;
}


/* =========================================
   카페 지점 카드
========================================= */

.place-grid {

  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 30px;
}


.place-card {

  overflow: hidden;

  background: #ddd3c5;

  transition: .3s;
}


.place-card:hover {
  transform: translateY(-7px);
}


.place-card img {

  display: block;

  width: 100%;

  height: 400px;

  object-fit: cover;
}


.place-text {
  padding: 35px;
}


.place-text h3 {
  font-size: 32px;
}


.place-text p {

  line-height: 1.7;

  color: #555;
}


/* =========================================
   활동 카드
========================================= */

.activity-grid {

  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 30px;
}


.activity-card {

  overflow: hidden;

  background: white;

  transition: .3s;
}


.activity-card:hover {

  transform: translateY(-8px);

  box-shadow:
    0 20px 40px rgba(0,0,0,.12);
}


.activity-photo {
  position: relative;
}


.activity-photo img {

  display: block;

  width: 100%;

  height: 400px;

  object-fit: cover;
}


.activity-number {

  position: absolute;

  left: 25px;

  bottom: 15px;

  font-family: Georgia, serif;

  font-size: 80px;

  color: white;
}


.activity-text {
  padding: 35px;
}


.activity-text h3 {

  margin: 8px 0;

  font-size: 35px;
}


.activity-text p {
  line-height: 1.7;
}


/* =========================================
   버튼
========================================= */

.main-button,
.back-button {

  width: fit-content;

  margin-top: 30px;

  padding: 15px 25px;

  border: 1px solid #222;

  background: transparent;

  cursor: pointer;

  transition: .3s;
}


.main-button:hover,
.back-button:hover {

  background: #222;

  color: white;
}


/* =========================================
   상세 표지
========================================= */

.story-cover {

  min-height: 85vh;

  display: grid;

  grid-template-columns:
    1fr 1fr;
}


.story-cover-text {

  padding: 8vw;

  display: flex;

  flex-direction: column;

  justify-content: center;

  background: #eee7db;
}


.story-no {

  font-family: Georgia, serif;

  font-size: clamp(80px, 11vw, 160px);

  line-height: .8;

  color: #496438;
}


.story-cover-text h1 {

  margin: 20px 0;

  font-size: clamp(45px, 6vw, 75px);

  line-height: 1.15;

  letter-spacing: -4px;
}


.story-cover-text mark {

  display: inline-block;

  margin-top: 18px;

  padding: 0 10px;

  background: #ddd0ac;

  color: inherit;

  line-height: 1.15;
}

.story-formula {

  margin-top: 30px;

  color: #817967;

  font-family: Georgia, serif;
}


.story-cover-photo {

  min-height: 600px;
}


.story-cover-photo img {

  width: 100%;

  height: 100%;

  object-fit: cover;
}


/* =========================================
   상세 사업 소개
========================================= */

.intro-story h2,
.large-heading {

  margin: 10px 0 30px;

  font-size: clamp(45px, 6vw, 75px);

  line-height: 1.15;

  letter-spacing: -3px;
}


.story-lead {

  max-width: 760px;

  font-size: 20px;

  line-height: 1.9;

  white-space: pre-line;
}


.keyword-grid {

  margin-top: 80px;

  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  gap: 20px;
}


.keyword-grid > div {

  padding: 30px 20px;

  border-top: 1px solid #999;
}


.keyword-grid span {

  font-family: Georgia, serif;

  font-size: 35px;

  color: #527343;
}


.keyword-grid p {

  color: #666;

  line-height: 1.7;
}


/* =========================================
   내용
========================================= */

.content-block {

  display: grid;

  grid-template-columns:
    80px 1.1fr 1fr;

  gap: 45px;

  align-items: center;
}


.content-number {

  align-self: start;

  font-family: Georgia, serif;

  font-size: 60px;

  color: #a58b71;
}


.content-photo img {

  aspect-ratio: 4 / 3;

  object-fit: cover;
}


.content-description h2 {

  margin: 10px 0 25px;

  font-size: 42px;
}


.content-description p {

  font-size: 17px;

  line-height: 1.9;

  color: #555;

  white-space: pre-line;
}


/* =========================================
   인터뷰
========================================= */

.interview-section {

  padding: 130px 10vw;

  background: #ad957d;

  color: white;
}


.interview-section > h2 {

  max-width: 1000px;

  margin: 15px auto 60px;

  font-size: clamp(42px, 6vw, 70px);

  text-align: center;

  line-height: 1.25;
}


.interview-card {

  max-width: 950px;

  margin: auto;

  padding: 60px;

  background: #f6f1e8;

  color: #222;

  box-shadow:
    0 15px 40px rgba(0,0,0,.15);
}


.interview-card p {

  color: #555;

  line-height: 1.9;

  white-space: pre-line;
}


/* =========================================
   Before / After
========================================= */

.before-after {

  margin-top: 60px;

  display: grid;

  grid-template-columns:
    1fr 1fr;

  gap: 25px;
}


.before-after > div {
  position: relative;
}


.before-after img {

  height: 450px;

  object-fit: cover;
}


.before-after span {

  position: absolute;

  top: 20px;

  left: 20px;

  padding: 10px 20px;

  background: #ad957d;

  color: white;

  font-family: Georgia, serif;

  z-index: 2;
}


/* =========================================
   앞으로의 계획 / Footer
========================================= */

/* =========================================
   계절별 하단 CONNECT 영역
========================================= */

.future-section {
  padding: 130px 10vw;

  text-align: center;

  background: var(--footer-bg, #456235);
  color: var(--footer-text, #ffffff);

  transition:
    background-color .6s ease,
    color .6s ease;
}


/* HOME */
body[data-season="home"] {
  --footer-bg: #456235;
  --footer-text: #ffffff;
}


/* SPRING */
body[data-season="spring"] {
  --footer-bg: #567447;
  --footer-text: #ffffff;
}


/* SUMMER */
body[data-season="summer"] {
  --footer-bg: #f0d98b;
  --footer-text: #3d443d;
}


/* AUTUMN */
body[data-season="autumn"] {
  --footer-bg: #a66f4f;
  --footer-text: #ffffff;
}


/* WINTER */
body[data-season="winter"] {
  --footer-bg: #879eaf;
  --footer-text: #ffffff;
}


.future-section h2 {

  margin: 10px;

  font-size: clamp(45px, 6vw, 75px);
}


.future-section > p:last-child {

  max-width: 700px;

  margin: 30px auto 0;

  font-size: 19px;

  line-height: 1.9;
}


/* =========================================
   활동정보
========================================= */

.activity-info {
  text-align: center;
}


.activity-info > h2 {

  margin-bottom: 60px;

  font-size: 40px;
}


.info-grid {

  display: grid;

  grid-template-columns:
    repeat(3, 1fr);
}


.info-grid > div {

  padding: 30px;

  border-right: 1px solid #aaa;
}


.info-grid > div:last-child {
  border-right: 0;
}


.info-grid span {

  font-family: Georgia, serif;

  font-size: 35px;

  color: #537040;
}


.info-grid p {
  line-height: 1.8;
}


/* =========================================
   실제 책 페이지
========================================= */

.book-page-section {

  max-width: 1250px;

  margin: 0 auto;

  padding: 120px 6vw;
}


.book-page-header {
  margin-bottom: 55px;
}


.book-page-header h2 {

  margin: 10px 0 20px;

  font-size: clamp(45px, 6vw, 70px);

  line-height: 1.15;

  letter-spacing: -3px;
}


.book-page-header > p:last-child {

  max-width: 650px;

  color: #666;

  font-size: 17px;

  line-height: 1.8;
}


.book-page-images {

  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 28px;

  align-items: start;
}


.book-page-images.single {
  grid-template-columns: 1fr;
}


.book-page-images.single
.book-page-frame {

  max-width: 820px;

  margin: 0 auto;
}


.book-page-frame {

  position: relative;

  overflow: hidden;

  background: #eee7db;
}


.book-page-frame img {

  width: 100%;

  height: auto;

  display: block;
}


.book-page-placeholder {

  width: 100%;

  min-height: 620px;

  padding: 40px;

  display: none;

  align-items: center;

  justify-content: center;

  text-align: center;

  background: #e9e3d8;

  border: 1px dashed #aaa;

  color: #777;

  font-size: 16px;

  line-height: 1.8;
}


.book-page-placeholder strong {

  color: #496438;

  font-size: 20px;
}


.book-page-caption {

  margin-top: 30px;

  text-align: center;

  color: #888;

  font-size: 13px;

  letter-spacing: 2px;
}


.book-back-wrap {

  max-width: 1250px;

  margin: 0 auto;

  padding: 0 6vw 120px;
}


/* =========================================
   모바일
========================================= */

@media (max-width: 1000px) {

  .main-hero {

    grid-template-columns: 1fr;

    gap: 60px;

    padding:
      90px 7vw
      80px;
  }


  .season-preview {
    width: 100%;
  }


  .season-photo {
    height: 115px;
  }


  .team-grid {
    grid-template-columns: repeat(2, 1fr);
  }

}



@media (max-width: 800px) {

  .header {

    padding: 0 4vw;
  }


  .header nav {
    gap: 10px;
  }


  nav button {

    font-size: 10px;

    letter-spacing: 1px;
  }


  .main-copy h1 {

    font-size:
      clamp(
        55px,
        13vw,
        85px
      );

    letter-spacing: -4px;
  }


  .team-grid,
  .place-grid,
  .activity-grid,
  .keyword-grid,
  .info-grid,
  .before-after {

    grid-template-columns: 1fr;
  }


  .story-cover {

    grid-template-columns: 1fr;
  }


  .story-cover-photo {

    height: 60vh;

    min-height: 0;
  }


  .content-block {

    grid-template-columns: 1fr;
  }


  .content-number {
    font-size: 45px;
  }


  .info-grid > div {

    border-right: 0;

    border-bottom: 1px solid #aaa;
  }


  .book-page-section {

    padding: 80px 6vw;
  }


  .book-page-images {

    grid-template-columns: 1fr;
  }


  .book-page-header h2 {

    font-size: 40px;
  }


  .book-page-placeholder {

    min-height: 450px;
  }

}



@media (max-width: 600px) {

  .season-buttons {

    display: grid;

    grid-template-columns:
      1fr 1fr;
  }


  .season-button {

    width: 100%;
  }


  .season-photo {
    height: 90px;
  }


  .team-grid {
    grid-template-columns: 1fr;
  }

}
/* =========================================
   봄 표지 - 좌측 포스터형 레이아웃
========================================= */

.season-cover-poster-layout {
  padding: 8vw 6vw;
}


.season-cover-inner {

  max-width: 1400px;

  margin: 0 auto;

  display: grid;

  grid-template-columns: 500px minmax(0, 1fr);

  gap: 70px;

  align-items: center;
}


/* 좌측 표지 */
.season-cover-poster {

  width: 100%;

  aspect-ratio: 4 / 5;

  overflow: hidden;

  background: rgba(255,255,255,.35);

  box-shadow: 0 18px 40px rgba(0,0,0,.12);
}


.season-cover-poster img {

  width: 100%;
  height: 100%;

  object-fit: contain;

  object-position: center;

}


/* 우측 텍스트 */
.season-cover-content {
  max-width: 900px;
}


.season-cover-content .season-en {

  font-family: Georgia, serif;

  font-size: 20px;

  letter-spacing: 5px;
}


.season-cover-content h1 {

  margin: 15px 0 30px;

  font-size: clamp(54px, 6vw, 96px);

  line-height: 1.08;

  letter-spacing: -4px;
}


.season-cover-content > p:last-child {

  max-width: 650px;

  font-size: 18px;

  line-height: 1.9;
}


/* 모바일 */
@media (max-width: 1000px) {

  .season-cover-inner {

    grid-template-columns: 1fr;

    gap: 40px;
  }


  .season-cover-poster {

    max-width: 320px;

    margin: 0 auto;
  }


  .season-cover-content {

    text-align: center;

    margin: 0 auto;
  }


  .season-cover-content > p:last-child {
    margin: 0 auto;
  }

}

/* =========================================
   봄 오프닝
========================================= */

.spring-opening {

  position: relative;

  padding: 120px 6vw;

  /* 앞뒤 섹션과 구분되는 따뜻한 종이색 */
  background: #e9e2d5;

  /* 위아래 아주 얇은 구분선 */
  border-top: 1px solid rgba(73, 100, 56, .15);
  border-bottom: 1px solid rgba(73, 100, 56, .15);
}


/* 오프닝 섹션 상단 작은 포인트 */

.spring-opening::before {

  content: "";

  position: absolute;

  top: 0;
  left: 6vw;

  width: 90px;
  height: 4px;

  background: #7fa05a;
}

.spring-opening-inner {

  max-width: 1400px;

  margin: 0 auto;

  display: grid;

  grid-template-columns:
    minmax(0, 1.15fr)
    minmax(340px, .85fr);

  gap: 80px;

  align-items: center;
}


/* =========================================
   왼쪽 글
========================================= */

.spring-opening-content {

  padding: 20px 0;
}

.spring-opening-label {

  margin: 0 0 28px;

  display: flex;

  align-items: center;

  gap: 14px;

  color: #557243;

  font-family: Georgia, serif;

  font-size: 22px;

  font-weight: 700;

  letter-spacing: 2px;
}


/* INTRO. 옆 작은 선 */

.spring-opening-label::after {

  content: "";

  width: 55px;
  height: 1px;

  background: #7fa05a;
}

.spring-opening-content h2 {

  margin: 0 0 45px;

  font-size: clamp(45px, 5vw, 72px);

  line-height: 1.12;

  letter-spacing: -3px;
}


.spring-opening-text {

  max-width: 720px;
}


.spring-opening-text p {

  margin: 0 0 26px;

  font-size: 17px;

  line-height: 1.95;

  color: #333;

  word-break: keep-all;
}


.spring-opening-text .spring-opening-last {

  margin-top: 40px;

  margin-bottom: 0;

  font-size: 19px;

  font-weight: 600;

  color: #496438;
}


/* =========================================
   오른쪽 이미지
   참고 이미지 기준 약 4:5 비율
========================================= */

.spring-opening-image {

  width: 100%;

  aspect-ratio: 4 / 5;

  overflow: hidden;

  background: #e9e3d8;

  box-shadow:
    0 16px 35px rgba(0,0,0,.12),
    0 3px 8px rgba(0,0,0,.06);

}


.spring-opening-image img {

  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;

  object-position: center;
}


/* =========================================
   모바일
========================================= */

@media (max-width: 900px) {

  .spring-opening {

    padding: 80px 6vw;

  }


  .spring-opening-inner {

    grid-template-columns: 1fr;

    gap: 50px;

  }


  .spring-opening-content {

    order: 1;

    padding: 0;
  }


  .spring-opening-image {

    order: 2;

    max-width: 500px;

    margin: 0 auto;

    aspect-ratio: 4 / 5;
  }


  .spring-opening-content h2 {

    font-size: 45px;
  }


  .spring-opening-text p {

    font-size: 16px;
  }

}
.channel-links {

  margin: 42px auto;

  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  gap: 10px;
}


.channel-links a {

  padding: 10px 18px;

  border: 1px solid currentColor;

  color: var(--footer-text, #fff);

  text-decoration: none;

  font-size: 15px;

  font-weight: 500;

  letter-spacing: .5px;

  transition: .25s ease;
}


.channel-links a:hover {

  background: var(--footer-text, #fff);

  color: var(--footer-bg, #456235);

  border-color: var(--footer-text, #fff);

  transform: translateY(-2px);
}

/* =========================================
   TEAM CARD - 기본 화면 디자인 보강
========================================= */


/* 번호를 작은 원형 배지로 */
#spring .team-card span {

  width: 48px;
  height: 48px;

  display: inline-flex;

  align-items: center;
  justify-content: center;

  margin-bottom: auto;

  border: 1px solid rgba(154,134,110,.45);

  border-radius: 50%;

  background: rgba(255,255,255,.22);

  font-family: Georgia, serif;

  font-size: 21px;

  color: #9a866e;
}


/* 팀 이름 */
#spring .team-card h3 {

  position: relative;

  margin: 60px 0 24px;

  font-size: 23px;

  font-weight: 650;

  line-height: 1.4;

  letter-spacing: -1px;

  color: #222;
}


/* 아래쪽 작은 영문 카테고리 */
#spring .team-card::after {

  position: absolute;

  left: 30px;
  bottom: 24px;

  font-family: Georgia, serif;

  font-size: 10px;

  letter-spacing: 2px;

  color: rgba(73,100,56,.58);
}


/* 카드별 작은 영문 */
#spring .team-card:nth-child(1)::after {
  content: "WOMEN";
}

#spring .team-card:nth-child(2)::after {
  content: "YOUTH";
}

#spring .team-card:nth-child(3)::after {
  content: "WIFI SCHOOL";
}

#spring .team-card:nth-child(4)::after {
  content: "RAINBOW CAFE";
}


/* =========================================
   활동 카드 - 디테일 디자인 보강
========================================= */


/* 카드 자체에 아주 얇은 테두리 */
.activity-card {
  position: relative;

  border: 1px solid rgba(73, 100, 56, .08);

  box-shadow: 0 5px 18px rgba(0,0,0,.025);
}


/* 사진 영역 */
.activity-photo {
  overflow: hidden;
}


/* 사진 hover */
.activity-photo img {
  transition: transform .5s ease;
}

.activity-card:hover .activity-photo img {
  transform: scale(1.025);
}


/* 텍스트 영역 */
.activity-text {
  position: relative;

  padding: 38px 36px 34px;
}


/* 사업명 / 운영단명 작은 라벨 */
.activity-text > p:first-child {

  width: fit-content;

  margin: 0 0 18px;

  padding: 7px 11px;

  border: 1px solid rgba(85,114,67,.22);

  background: #f5f1e8;

  color: #557243;

  font-size: 12px;

  font-weight: 600;

  letter-spacing: .3px;
}


/* 제목 */
.activity-text h3 {

  position: relative;

  margin: 0 0 18px;

  padding-bottom: 18px;

  font-size: 34px;

  line-height: 1.25;

  letter-spacing: -1.7px;
}


/* 제목 밑 짧은 초록 선 */
.activity-text h3::after {

  content: "";

  position: absolute;

  left: 0;
  bottom: 0;

  width: 36px;
  height: 2px;

  background: #7fa05a;
}


/* 설명글 */
.activity-text h3 + p {

  margin: 0;

  color: #555;

  font-size: 16px;

  line-height: 1.8;

  word-break: keep-all;
}


/* STORY VIEW */
.activity-text strong {

  display: inline-block;

  margin-top: 24px;

  color: #333;

  font-family: Georgia, serif;

  font-size: 13px;

  font-weight: 700;

  letter-spacing: 1px;

  transition: .25s ease;
}


/* 마우스 올렸을 때 */
.activity-card:hover .activity-text strong {

  color: #557243;

  transform: translateX(5px);
}
/* =========================================
   HOME - 사계절 통합 테마
========================================= */

body[data-season="home"] .future-section {

  background:
    linear-gradient(
      110deg,
      #71885d 0%,
      #7f9f85 24%,
      #87aeba 48%,
      #b69b78 73%,
      #7b8c9b 100%
    );

  color: #ffffff;

  position: relative;

  overflow: hidden;
}


/* 아주 은은한 빛 효과 */
body[data-season="home"] .future-section::before {

  content: "";

  position: absolute;

  width: 430px;
  height: 430px;

  top: -230px;
  left: -120px;

  border-radius: 50%;

  background:
    rgba(255,255,255,.08);

  pointer-events: none;
}


/* 반대편 작은 빛 */
body[data-season="home"] .future-section::after {

  content: "";

  position: absolute;

  width: 340px;
  height: 340px;

  right: -150px;
  bottom: -190px;

  border-radius: 50%;

  background:
    rgba(255,255,255,.06);

  pointer-events: none;
}


/* 실제 글자는 효과 위로 */
body[data-season="home"] .future-section > * {

  position: relative;

  z-index: 1;
}

/* =========================================
   FOOTER - 사계절 표시
========================================= */

.four-season-mark {

  margin: 0 auto 34px;

  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  gap: 18px;
}


.four-season-mark span {

  padding: 0;

  border: 0;

  font-family: Georgia, serif;

  font-size: 11px;

  font-weight: 600;

  letter-spacing: 2px;

  color: var(--footer-text, #fff);

  opacity: .7;
}


/* 소개문구 */

.footer-description {

  margin: 24px auto 0;

  font-size: 17px;

  line-height: 1.8;
}


/* 맨 아래 아카이브 문구 */

.footer-archive {

  margin: 42px auto 0 !important;

  font-family: Georgia, serif;

  font-size: 12px !important;

  line-height: 1.8 !important;

  letter-spacing: 2px;

  opacity: .65;
}

/* =========================================
   봄 - 함께한 사람들
========================================= */

.spring-people {
  padding: 130px 6vw;

  background: #ece7da;

  border-top: 1px solid rgba(73,100,56,.12);
}


.spring-people-inner {
  max-width: 1250px;

  margin: 0 auto;
}


/* 제목 */

.spring-people-heading {
  margin-bottom: 75px;
}


.spring-people-heading h2 {
  margin: 12px 0 25px;

  font-size: clamp(46px, 5vw, 70px);

  line-height: 1.12;

  letter-spacing: -3px;
}


.spring-people-heading > p:last-child {
  max-width: 600px;

  margin: 0;

  color: #666;

  font-size: 17px;

  line-height: 1.8;
}


/* 팀 3열 */

.people-team-grid {
  display: grid;

  grid-template-columns:
    1fr 1fr 1fr;

  gap: 55px;
}


/* 팀 */

.people-team {
  position: relative;

  padding-top: 22px;

  border-top: 1px solid #557243;
}


.people-team-no {
  margin: 0 0 12px;

  font-family: Georgia, serif;

  font-size: 14px;

  color: #9a866e;
}


.people-team h3 {
  margin: 0 0 40px;

  color: #496438;

  font-family: Georgia, serif;

  font-size: 20px;

  letter-spacing: 1px;
}


/* 사람 */

.person-item {
  padding: 0 0 28px;

  margin: 0 0 28px;

  border-bottom:
    1px dashed rgba(73,100,56,.30);
}


.person-item:last-child {
  border-bottom: 0;
}


.person-name {
  display: flex;

  align-items: baseline;

  justify-content: space-between;

  gap: 15px;

  margin-bottom: 14px;
}


.person-name strong {
  font-size: 25px;

  letter-spacing: -1px;
}


.person-name span {
  color: #557243;

  font-size: 13px;

  font-weight: 700;
}


.person-item p {
  margin: 0;

  color: #444;

  font-size: 15px;

  line-height: 1.8;
}


/* 카페 중간 제목 */

.people-sub-team {
  margin-top: 50px;

  padding-top: 22px;

  border-top: 1px solid #557243;
}


/* 연락처 */

.people-contact {
  margin-top: 75px;

  padding: 30px 35px;

  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 16px 45px;

  background: rgba(255,255,255,.46);

  border: 1px solid rgba(154,134,110,.35);
}


.people-contact > div {
  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 20px;
}


.people-contact span {

  display: flex;

  flex-direction: column;

  gap: 4px;

  color: #333;

  font-size: 14px;

  font-weight: 600;

  line-height: 1.4;
}


/* 영문 팀명 */

.people-contact span em {

  font-family: Georgia, serif;

  font-size: 10px;

  font-style: normal;

  font-weight: 600;

  letter-spacing: 1.3px;

  color: #7a8b69;
}


.people-contact strong {

  font-size: 15px;

  font-weight: 600;

  white-space: nowrap;

  letter-spacing: .2px;
}

/* 모바일 */

@media (max-width: 900px) {

  .spring-people {
    padding: 90px 6vw;
  }

  .people-team-grid {
    grid-template-columns: 1fr;

    gap: 60px;
  }

  .people-contact {
    grid-template-columns: 1fr;
  }

}


@media (max-width: 600px) {

  .people-contact > div {
    align-items: flex-start;

    flex-direction: column;

    gap: 5px;
  }

}

.people-team:nth-child(3) .person-item:first-of-type {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}
/* =========================================
   ACTIVITY 12 - INTERVIEW
========================================= */

.interview-section-new {
  padding: 120px 7vw;
  background: #d8d1c3;
  color: #222;
}

.interview-inner {
  max-width: 1250px;
  margin: 0 auto;
}


/* 제목 */

.interview-title {
  margin-bottom: 55px;
}

.interview-title h2 {
  margin: 12px 0 0;

  font-size: clamp(46px, 6vw, 72px);
  line-height: 1.12;
  letter-spacing: -3px;
}

.interview-section-new .section-label {
  color: #557243;
}


/* =========================================
   청소년 VOICE
========================================= */

.youth-interview {
  position: relative;

  margin-bottom: 35px;
  padding: 48px 55px;

  background: #f6f1e8;

  border-left: 4px solid #7e8e5e;
}


.interview-type {
  display: block;

  margin-bottom: 20px;

  color: #718052;

  font-family: Georgia, serif;

  font-size: 11px;
  font-weight: 700;

  letter-spacing: 2.5px;
}


.youth-interview blockquote {
  margin: 0 0 25px;

  max-width: 900px;

  color: #454637;

  font-size: clamp(28px, 3vw, 40px);

  font-weight: 650;

  line-height: 1.45;

  letter-spacing: -1.5px;

  word-break: keep-all;
}


.youth-interview-text {
  max-width: 900px;

  margin: 0;

  color: #555;

  font-size: 16px;

  line-height: 1.9;

  word-break: keep-all;
}


.youth-name {
  margin-top: 28px;

  display: flex;

  align-items: baseline;

  justify-content: flex-end;

  gap: 10px;
}


.youth-name span {
  color: #777;

  font-size: 13px;
}


.youth-name strong {
  color: #557243;

  font-size: 17px;
}


/* =========================================
   담당자 인터뷰
========================================= */

.staff-interview {
  padding: 45px;

  display: grid;

  grid-template-columns: 260px minmax(0, 1fr);

  gap: 55px;

  background: #f6f1e8;

  border: 1px solid rgba(73,100,56,.12);
  border-left: 4px solid #7e8e5e;
}


/* 담당자 사진 */

.staff-profile {
  padding-right: 35px;

  border-right: 1px solid rgba(73,100,56,.16);
}


.staff-photo {
  width: 100%;

  aspect-ratio: 4 / 5;

  overflow: hidden;

  background: #e5dfd4;
}


.staff-photo img {
  width: 100%;
  height: 100%;

  object-fit: cover;

  object-position: center;
}


.staff-profile > p {
  margin: 22px 0 5px;

  color: #557243;

  font-size: 12px;

  font-weight: 700;
}


.staff-profile h3 {
  margin: 0;

  font-size: 25px;

  letter-spacing: -1px;
}


/* Q&A */

.staff-qa {
  display: flex;

  flex-direction: column;

  justify-content: center;
}


.qa-item {
  padding: 25px 0;

  border-bottom: 1px solid rgba(73,100,56,.15);
}


.qa-item:last-child {
  border-bottom: 0;
}


.qa-item h4 {
  margin: 0 0 12px;

  font-size: 17px;

  line-height: 1.65;
}


.qa-item p {
  margin: 0;

  color: #555;

  font-size: 16px;

  line-height: 1.9;

  word-break: keep-all;
}


/* 모바일 */

@media (max-width: 850px) {

  .interview-section-new {
    padding: 80px 6vw;
  }


  .youth-interview {
    padding: 35px 30px;
  }


  .youth-name {
    align-items: flex-end;

    flex-direction: column;

    gap: 3px;
  }


  .staff-interview {
    grid-template-columns: 1fr;

    padding: 30px;
  }


  .staff-profile {
    padding-right: 0;
    padding-bottom: 30px;

    border-right: 0;

    border-bottom: 1px solid rgba(73,100,56,.16);
  }


  .staff-photo {
    max-width: 260px;
  }
}

/* =========================================
   DODANG STORY - KEY VALUES
========================================= */

.dodang-values {
  border-top: 1px solid rgba(73,100,56,.10);
}


/* 4개 가치 */

.dodang-value-grid {
  margin-top: 65px;

  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  gap: 0;

  border-top:
    1px solid rgba(73,100,56,.30);
}


.dodang-value-item {
  position: relative;

  padding: 38px 30px 20px;

  border-right:
    1px solid rgba(73,100,56,.16);
}


.dodang-value-item:first-child {
  padding-left: 0;
}


.dodang-value-item:last-child {
  border-right: 0;
  padding-right: 0;
}


/* 아이콘 */

.dodang-value-icon {
  width: 46px;
  height: 46px;

  margin-bottom: 26px;

  color: #557243;
}


.dodang-value-icon svg {
  width: 100%;
  height: 100%;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.5;

  stroke-linecap: round;
  stroke-linejoin: round;
}


/* 번호 */

.dodang-value-item > span {
  display: block;

  margin-bottom: 10px;

  color: #a18a6e;

  font-family: Georgia, serif;

  font-size: 14px;
}


/* 제목 */

.dodang-value-item h3 {
  margin: 0 0 15px;

  font-size: 20px;

  letter-spacing: -.7px;
}


/* 설명 */

.dodang-value-item p {
  margin: 0;

  color: #666;

  font-size: 15px;

  line-height: 1.8;

  word-break: keep-all;
}


/* =========================================
   DODANG STORY - 활동 정보
========================================= */

.dodang-info-grid > div {
  min-height: 190px;
}


/* =========================================
   모바일
========================================= */

@media (max-width: 850px) {

  .dodang-value-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }


  .dodang-value-item {
    padding: 30px 20px;

    border-bottom:
      1px solid rgba(73,100,56,.16);
  }


  .dodang-value-item:nth-child(2) {
    border-right: 0;
  }


  .dodang-value-item:nth-child(3),
  .dodang-value-item:nth-child(4) {
    border-bottom: 0;
  }

}


@media (max-width: 550px) {

  .dodang-value-grid {
    grid-template-columns: 1fr;
  }


  .dodang-value-item,
  .dodang-value-item:first-child,
  .dodang-value-item:last-child {
    padding: 28px 0;

    border-right: 0;

    border-bottom:
      1px solid rgba(73,100,56,.16);
  }


  .dodang-value-item:last-child {
    border-bottom: 0;
  }

}

/* =========================================
   SOSA - KEYWORD ICON GRID
========================================= */

.sosa-keyword-grid {

  margin-top: 70px;

  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: 0;

  border-top: 1px solid rgba(73,100,56,.30);
}


/* 각각의 가치 */

.sosa-keyword-grid .sosa-keyword-item {

  padding: 38px 30px 22px;

  border-top: 0;

  border-right:
    1px solid rgba(73,100,56,.16);
}


.sosa-keyword-grid .sosa-keyword-item:first-child {
  padding-left: 0;
}


.sosa-keyword-grid .sosa-keyword-item:last-child {

  padding-right: 0;

  border-right: 0;
}


/* 아이콘 */

.sosa-keyword-icon {

  width: 46px;
  height: 46px;

  margin-bottom: 26px;

  color: #557243;
}


.sosa-keyword-icon svg {

  width: 100%;
  height: 100%;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.5;

  stroke-linecap: round;

  stroke-linejoin: round;
}


/* 번호 */

.sosa-keyword-grid .sosa-keyword-item > span {

  display: block;

  margin-bottom: 10px;

  font-family: Georgia, serif;

  font-size: 14px;

  color: #a18a6e;
}


/* 제목 */

.sosa-keyword-grid .sosa-keyword-item h3 {

  margin: 0 0 15px;

  font-size: 20px;

  line-height: 1.4;

  letter-spacing: -.7px;
}


/* 설명 */

.sosa-keyword-grid .sosa-keyword-item p {

  margin: 0;

  color: #666;

  font-size: 15px;

  line-height: 1.8;

  word-break: keep-all;
}


/* =========================================
   모바일
========================================= */

@media (max-width: 850px) {

  .sosa-keyword-grid {

    grid-template-columns:
      repeat(2, 1fr);
  }


  .sosa-keyword-grid .sosa-keyword-item {

    padding: 30px 22px;

    border-bottom:
      1px solid rgba(73,100,56,.16);
  }


  .sosa-keyword-grid .sosa-keyword-item:nth-child(2) {
    border-right: 0;
  }


  .sosa-keyword-grid .sosa-keyword-item:nth-child(3),
  .sosa-keyword-grid .sosa-keyword-item:nth-child(4) {
    border-bottom: 0;
  }

}


@media (max-width: 550px) {

  .sosa-keyword-grid {
    grid-template-columns: 1fr;
  }


  .sosa-keyword-grid .sosa-keyword-item,
  .sosa-keyword-grid .sosa-keyword-item:first-child,
  .sosa-keyword-grid .sosa-keyword-item:last-child {

    padding: 28px 0;

    border-right: 0;

    border-bottom:
      1px solid rgba(73,100,56,.16);
  }


  .sosa-keyword-grid .sosa-keyword-item:last-child {
    border-bottom: 0;
  }

}
/* =========================================
   DODANG 29 - 함께라면 운영 안내
========================================= */

.dodang-meal-guide {

  padding: 110px 7vw;

  background: #b09578;

  color: #fff;
}


.dodang-meal-guide-inner {

  max-width: 1250px;

  margin: 0 auto;
}


.dodang-meal-guide .section-label {

  margin-bottom: 22px;

  color: rgba(255,255,255,.75);
}


.dodang-meal-guide h2 {

  max-width: 800px;

  margin: 0 0 30px;

  font-size: clamp(44px, 5vw, 68px);

  line-height: 1.15;

  letter-spacing: -3px;
}


.dodang-meal-guide
.dodang-meal-guide-inner > p:last-child {

  max-width: 700px;

  margin: 0;

  font-size: 18px;

  line-height: 1.9;

  color: rgba(255,255,255,.88);
}


@media (max-width: 800px) {

  .dodang-meal-guide {

    padding: 80px 6vw;
  }

}

/* =========================================
   WIFI SCHOOL - 자기개발활동 KEY VALUES
========================================= */

.wifi-keyword-grid {

  margin-top: 70px;

  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  gap: 0;

  border-top:
    1px solid rgba(73,100,56,.30);
}


/* 각각의 가치 */

.wifi-keyword-grid .wifi-keyword-item {

  padding: 38px 30px 22px;

  border-top: 0;

  border-right:
    1px solid rgba(73,100,56,.16);
}


.wifi-keyword-grid
.wifi-keyword-item:first-child {

  padding-left: 0;
}


.wifi-keyword-grid
.wifi-keyword-item:last-child {

  padding-right: 0;

  border-right: 0;
}


/* 아이콘 */

.wifi-keyword-icon {

  width: 46px;
  height: 46px;

  margin-bottom: 26px;

  color: #557243;
}


.wifi-keyword-icon svg {

  width: 100%;
  height: 100%;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.5;

  stroke-linecap: round;
  stroke-linejoin: round;
}


/* 번호 */

.wifi-keyword-grid
.wifi-keyword-item > span {

  display: block;

  margin-bottom: 10px;

  color: #a18a6e;

  font-family: Georgia, serif;

  font-size: 14px;
}


/* 제목 */

.wifi-keyword-grid
.wifi-keyword-item h3 {

  margin: 0 0 15px;

  font-size: 20px;

  letter-spacing: -.7px;
}


/* 설명 */

.wifi-keyword-grid
.wifi-keyword-item p {

  margin: 0;

  color: #666;

  font-size: 15px;

  line-height: 1.8;

  word-break: keep-all;
}


/* 모바일 */

@media (max-width: 850px) {

  .wifi-keyword-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }


  .wifi-keyword-grid
  .wifi-keyword-item {

    padding: 30px 22px;

    border-bottom:
      1px solid rgba(73,100,56,.16);
  }


  .wifi-keyword-grid
  .wifi-keyword-item:nth-child(2) {

    border-right: 0;
  }

}


@media (max-width: 550px) {

  .wifi-keyword-grid {
    grid-template-columns: 1fr;
  }


  .wifi-keyword-grid
  .wifi-keyword-item,
  .wifi-keyword-grid
  .wifi-keyword-item:first-child,
  .wifi-keyword-grid
  .wifi-keyword-item:last-child {

    padding: 28px 0;

    border-right: 0;

    border-bottom:
      1px solid rgba(73,100,56,.16);
  }


  .wifi-keyword-grid
  .wifi-keyword-item:last-child {

    border-bottom: 0;
  }

}

/* =========================================
   ACTIVITY 34 - WIFI BLOG
========================================= */


/* =========================================
   인터뷰 타이틀
========================================= */

.activity34-interview-section {
  padding-top: 130px;
}


.activity34-interview-section .interview-heading {
  max-width: 900px;

  margin-bottom: 65px;
}


.activity34-interview-section
.interview-heading h2 {

  margin: 10px 0 25px;

  font-size: clamp(45px, 6vw, 72px);

  line-height: 1.15;

  letter-spacing: -3px;
}


.activity34-interview-section
.interview-heading > p:last-child {

  max-width: 650px;

  color: #666;

  font-size: 17px;

  line-height: 1.8;
}



/* =========================================
   블로그 + QR
========================================= */

.activity34-blog {

  padding: 120px 7vw;

  background: #ddd0ae;
}


.activity34-blog-inner {

  max-width: 1150px;

  margin: 0 auto;

  display: grid;

  grid-template-columns:
    minmax(0, 1.35fr) 300px;

  gap: 100px;

  align-items: center;
}


/* 왼쪽 */

.activity34-blog-copy h2 {

  margin: 12px 0 30px;

  font-size: clamp(45px, 5vw, 70px);

  line-height: 1.12;

  letter-spacing: -3px;
}


.activity34-blog-copy > p:not(.section-label) {

  max-width: 620px;

  margin-bottom: 38px;

  font-size: 17px;

  line-height: 1.9;

  color: #444;

  white-space: pre-line;
}


/* 블로그 주소 */

.activity34-blog-link {

  width: fit-content;

  padding-bottom: 8px;

  display: flex;

  align-items: center;

  gap: 18px;

  color: #222;

  border-bottom:
    1px solid #222;

  text-decoration: none;

  font-family: Georgia, serif;

  font-size: 15px;

  letter-spacing: 1px;

  transition: .25s;
}


.activity34-blog-link span {

  font-size: 20px;

  transition: .25s;
}


.activity34-blog-link:hover {

  color: #557243;

  border-color: #557243;
}


.activity34-blog-link:hover span {

  transform:
    translate(3px, -3px);
}



/* QR */

.activity34-qr {

  padding: 28px;

  text-align: center;

  background: #f7f3ea;

  box-shadow:
    0 15px 35px rgba(0,0,0,.10);
}


.activity34-qr a {
  display: block;
}


.activity34-qr img {

  width: 100%;

  aspect-ratio: 1 / 1;

  object-fit: contain;

  background: #fff;
}


.activity34-qr strong {

  display: block;

  margin-top: 22px;

  color: #557243;

  font-family: Georgia, serif;

  font-size: 14px;

  letter-spacing: 2px;
}


.activity34-qr p {

  margin: 10px 0 0;

  color: #666;

  font-size: 14px;

  line-height: 1.7;
}



/* =========================================
   사진 기록
========================================= */

.activity34-gallery-lead {

  max-width: 650px;

  margin-bottom: 55px;

  color: #666;

  font-size: 17px;

  line-height: 1.8;

  white-space: pre-line;
}


.activity34-gallery {

  display: grid;

  grid-template-columns:
    1fr 1fr;

  gap: 35px;
}


.activity34-gallery figure {

  margin: 0;

  padding: 15px 15px 22px;

  background: #fff;

  box-shadow:
    0 12px 30px rgba(0,0,0,.10);
}


.activity34-gallery figure:first-child {

  transform: rotate(-1deg);
}


.activity34-gallery figure:last-child {

  transform: rotate(1deg);
}


.activity34-gallery img {

  width: 100%;

  height: 420px;

  object-fit: cover;
}


.activity34-gallery figcaption {

  padding-top: 17px;

  text-align: center;

  color: #777;

  font-family: Georgia, serif;

  font-size: 13px;

  letter-spacing: 2px;
}



/* =========================================
   뒤로가기
========================================= */

.activity34-back {

  margin:
    0 7vw 120px;
}



/* =========================================
   모바일
========================================= */

@media (max-width: 800px) {

  .activity34-blog {
    padding: 80px 6vw;
  }


  .activity34-blog-inner {

    grid-template-columns: 1fr;

    gap: 55px;
  }


  .activity34-qr {

    width: 100%;

    max-width: 300px;

    margin: 0 auto;
  }


  .activity34-gallery {

    grid-template-columns: 1fr;
  }


  .activity34-gallery figure:first-child,
  .activity34-gallery figure:last-child {

    transform: none;
  }


  .activity34-gallery img {
    height: auto;
  }

}

/* =========================================
   activity34 담당자 프로필 사진 비율 조정
========================================= */

#activity34 .staff-photo {

  width: 100%;
  max-width: 300px;

  aspect-ratio: 3 / 4;

  margin: 0 auto 25px;

  overflow: hidden;

  background: #f5f1e8;
}


#activity34 .staff-photo img {

  width: 100%;
  height: 100%;

  object-fit: contain;
  object-position: center;

  display: block;
}

/* =========================================
   ACTIVITY 17
   여월중 베이킹 사진 3장
========================================= */

.activity17-photo-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
}


/* 위쪽 큰 사진 */

.activity17-photo-grid
.activity17-photo-main {

  width: 100%;
  aspect-ratio: 4 / 3;

  object-fit: cover;

  display: block;
}


/* 아래쪽 2장 */

.activity17-photo-sub {

  display: grid;

  grid-template-columns:
    1fr 1fr;

  gap: 12px;
}


.activity17-photo-sub img {

  width: 100%;

  aspect-ratio: 1 / 1;

  object-fit: cover;

  display: block;
}


/* 모바일 */

@media (max-width: 650px) {

  .activity17-photo-sub {
    grid-template-columns: 1fr;
  }


  .activity17-photo-sub img {
    aspect-ratio: 4 / 3;
  }

}
/* =========================================
   ACTIVITY 17
   여월중 베이킹 사진 세로 배열
========================================= */

.activity17-photo-column {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.activity17-photo-column img {
  width: 100%;
  height: auto;

  aspect-ratio: 4 / 3;

  object-fit: cover;

  display: block;
}

/* =========================================
   ACTIVITY 18
   YOUTH NETWORK OVERVIEW
========================================= */

.activity18-network-overview {

  padding: 110px 6vw;

  background: #596348;

  color: #fff;
}


/* 상단 */

.activity18-network-inner {

  max-width: 1250px;

  margin: 0 auto 80px;

  display: grid;

  grid-template-columns:
    minmax(0, 1.15fr)
    minmax(420px, .85fr);

  gap: 90px;

  align-items: end;
}


/* 제목 */

.activity18-network-title
.section-label {

  color: #d9dfc5;
}


.activity18-network-title h2 {

  margin: 12px 0 30px;

  font-size:
    clamp(48px, 6vw, 78px);

  line-height: 1.08;

  letter-spacing: -4px;
}


.activity18-network-title > p:last-child {

  max-width: 620px;

  margin: 0;

  color: rgba(255,255,255,.78);

  font-size: 17px;

  line-height: 1.9;

  white-space: pre-line;
}


/* 숫자 요약 */

.activity18-network-stats {

  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  border-top:
    1px solid rgba(255,255,255,.35);

  border-bottom:
    1px solid rgba(255,255,255,.35);
}


.activity18-network-stats > div {

  padding: 28px 20px;

  border-right:
    1px solid rgba(255,255,255,.20);
}


.activity18-network-stats > div:last-child {

  border-right: 0;
}


.activity18-network-stats strong {

  display: block;

  margin-bottom: 8px;

  font-family: Georgia, serif;

  font-size: 48px;

  font-weight: 400;
}


.activity18-network-stats span {

  display: block;

  margin-bottom: 12px;

  color: #d9dfc5;

  font-family: Georgia, serif;

  font-size: 11px;

  letter-spacing: 1.6px;
}


.activity18-network-stats p {

  margin: 0;

  color: rgba(255,255,255,.72);

  font-size: 13px;

  line-height: 1.5;
}


/* =========================================
   5개 조직
========================================= */

.activity18-network-groups {

  max-width: 1250px;

  margin: 0 auto;

  display: grid;

  grid-template-columns:
    repeat(5, 1fr);

  border-top:
    1px solid rgba(255,255,255,.35);
}


.network-group {

  min-height: 220px;

  padding: 34px 24px;

  border-right:
    1px solid rgba(255,255,255,.20);

  transition: .3s;
}


.network-group:last-child {
  border-right: 0;
}


.network-group:hover {

  background:
    rgba(255,255,255,.08);

  transform:
    translateY(-6px);
}


/* 번호 */

.network-group > span {

  display: block;

  margin-bottom: 42px;

  color: #d9dfc5;

  font-family: Georgia, serif;

  font-size: 27px;
}


/* 영문 */

.network-group small {

  display: block;

  margin-bottom: 10px;

  color:
    rgba(255,255,255,.55);

  font-family: Georgia, serif;

  font-size: 10px;

  letter-spacing: 1.2px;

  line-height: 1.4;
}


/* 조직명 */

.network-group h3 {

  margin: 0;

  font-size: 18px;

  line-height: 1.5;
}



/* =========================================
   MOBILE
========================================= */

@media (max-width: 1000px) {

  .activity18-network-inner {

    grid-template-columns: 1fr;

    gap: 55px;
  }


  .activity18-network-groups {

    grid-template-columns:
      repeat(2, 1fr);
  }


  .network-group {

    border-bottom:
      1px solid rgba(255,255,255,.20);
  }

}


@media (max-width: 600px) {

  .activity18-network-overview {

    padding:
      80px 6vw;
  }


  .activity18-network-stats {

    grid-template-columns: 1fr;
  }


  .activity18-network-stats > div {

    border-right: 0;

    border-bottom:
      1px solid rgba(255,255,255,.20);
  }


  .activity18-network-groups {

    grid-template-columns: 1fr;
  }


  .network-group {

    min-height: auto;

    border-right: 0;
  }

}

/* =========================================
   ACTIVITY 18
   SIMPLE NETWORK SUMMARY
========================================= */

.activity18-network-simple {

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 28px;

  padding: 28px 0;

  border-top:
    1px solid rgba(255,255,255,.28);

  border-bottom:
    1px solid rgba(255,255,255,.28);
}


.activity18-network-simple > div {

  flex: 1;
}


.activity18-network-simple strong {

  display: block;

  margin-bottom: 8px;

  font-family: Georgia, serif;

  font-size: 42px;

  font-weight: 400;

  color: #fff;
}


.activity18-network-simple p {

  margin: 0;

  color: rgba(255,255,255,.72);

  font-size: 14px;

  line-height: 1.6;
}


.network-dot {

  color: #d9dfc5;

  font-size: 14px;
}


/* 모바일 */

@media (max-width: 700px) {

  .activity18-network-simple {

    flex-direction: column;

    align-items: flex-start;

    gap: 22px;
  }


  .network-dot {
    display: none;
  }

}

/* =========================================
   ACTIVITY 18
   NETWORK MESSAGE
========================================= */

.activity18-network-message {

  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap: 0;

  margin-top: 18px;

  padding: 42px 48px;

  background: #f7f4ed;

  box-shadow:
    0 15px 35px rgba(0,0,0,.08);
}


/* 각 메시지 */

.network-message-item {

  padding: 6px 36px;

  text-align: left;
}


/* 가운데만 아주 옅은 구분 */

.network-message-item + .network-message-item {

  border-left:
    1px solid rgba(89,99,72,.15);
}


/* 작은 영문 */

.network-message-item > span {

  display: block;

  margin-bottom: 14px;

  color: #8c9974;

  font-family: Georgia, serif;

  font-size: 11px;

  font-weight: 700;

  letter-spacing: 2px;
}


/* 핵심 제목 */

.network-message-item h3 {

  margin: 0 0 14px;

  color: #596348;

  font-size: 23px;

  line-height: 1.35;

  letter-spacing: -1px;
}


/* 설명 */

.network-message-item p {

  margin: 0;

  color: #666;

  font-size: 14px;

  line-height: 1.75;

  word-break: keep-all;
}


/* 모바일 */

@media (max-width: 750px) {

  .activity18-network-message {

    grid-template-columns: 1fr;

    padding: 28px;
  }


  .network-message-item {

    padding: 25px 5px;
  }


  .network-message-item + .network-message-item {

    border-left: 0;

    border-top:
      1px solid rgba(89,99,72,.15);
  }

}

/* 청소년친화공간 조성 프로젝트 - 3장 사진 배치 */
.friendly-space-photo-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 16px;
  margin: 28px 0 40px;
  align-items: stretch;
}

.friendly-space-photo-left,
.friendly-space-photo-top,
.friendly-space-photo-bottom {
  background: #f7f4ee;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
}

.friendly-space-photo-left {
  min-height: 420px;
}

.friendly-space-photo-right {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 16px;
}

.friendly-space-photo-top,
.friendly-space-photo-bottom {
  min-height: 202px;
}

.friendly-space-photo-grid img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* 살짝 종이 붙인 듯한 느낌 원하면 */
.friendly-space-photo-left,
.friendly-space-photo-top,
.friendly-space-photo-bottom {
  position: relative;
}

.friendly-space-photo-left::before,
.friendly-space-photo-top::before,
.friendly-space-photo-bottom::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 18px;
  width: 52px;
  height: 12px;
  background: rgba(200, 185, 150, 0.55);
  border-radius: 2px;
  transform: rotate(-6deg);
  z-index: 2;
}

/* 모바일 */
@media (max-width: 768px) {
  .friendly-space-photo-grid {
    grid-template-columns: 1fr;
  }

  .friendly-space-photo-left {
    min-height: 280px;
  }

  .friendly-space-photo-right {
    grid-template-rows: none;
    grid-template-columns: 1fr 1fr;
  }

  .friendly-space-photo-top,
  .friendly-space-photo-bottom {
    min-height: 180px;
  }
}

/* =========================================
   ACTIVITY 18
   NETWORK MESSAGE 최종 보정
========================================= */

.activity18-network-message {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 0;

  margin-top: 20px;
  padding: 42px 24px;

  background: #f7f4ed;

  box-shadow:
    0 15px 35px rgba(0,0,0,.08);
}


/* 각 칸 */

.activity18-network-message .network-message-item {
  min-width: 0;

  padding: 4px 20px;

  text-align: center;
}


.activity18-network-message
.network-message-item + .network-message-item {
  border-left:
    1px solid rgba(89,99,72,.16);
}


/* ================================
   아이콘
================================ */

.activity18-network-message
.network-message-icon {
  width: 42px;
  height: 42px;

  margin: 0 auto 18px;

  color: #596348;
}


.activity18-network-message
.network-message-icon svg {
  display: block;

  width: 100%;
  height: 100%;

  fill: none !important;

  stroke: currentColor !important;
  stroke-width: 1.6;

  stroke-linecap: round;
  stroke-linejoin: round;
}


/* SVG 내부 요소도 강제로 선형 처리 */

.activity18-network-message
.network-message-icon svg path,

.activity18-network-message
.network-message-icon svg circle,

.activity18-network-message
.network-message-icon svg rect,

.activity18-network-message
.network-message-icon svg line {

  fill: none !important;

  stroke: currentColor !important;
}


/* START / CONNECT / TOGETHER */

.activity18-network-message
.network-message-item > span {

  display: block;

  margin-bottom: 11px;

  color: #87946f;

  font-family: Georgia, serif;

  font-size: 11px;

  font-weight: 700;

  letter-spacing: 1.8px;

  white-space: nowrap;
}


/* 제목 */

.activity18-network-message
.network-message-item h3 {

  margin: 0 0 15px;

  color: #4f5d40;

  font-size: 22px;

  line-height: 1.3;

  letter-spacing: -1px;

  word-break: keep-all;
  white-space: nowrap;
}


/* 짧은 설명 */

.activity18-network-message
.network-message-item p {

  margin: 0;

  color: #666;

  font-size: 14px;

  line-height: 1.75;

  word-break: keep-all;
  overflow-wrap: normal;
}


/* 모바일 */

@media (max-width: 750px) {

  .activity18-network-message {
    grid-template-columns: 1fr;

    padding: 22px 28px;
  }


  .activity18-network-message
  .network-message-item {

    padding: 30px 10px;
  }


  .activity18-network-message
  .network-message-item + .network-message-item {

    border-left: 0;

    border-top:
      1px solid rgba(89,99,72,.16);
  }

}

/* =========================================
   활동 정보 한눈에 보기
   카드형 디자인
========================================= */

.activity-info {
  position: relative;

  padding-top: 90px;
  padding-bottom: 90px;

  background: #cfd2c4;

  box-shadow: 0 0 0 100vmax #cfd2c4;
  clip-path: inset(0 -100vmax);

  text-align: center;
}


/* 제목 */

.activity-info > h2 {
  margin: 0 0 55px;

  color: #222;

  font-size: 40px;
  font-weight: 700;
}


/* 3개 카드 영역 */

.activity-info .info-grid {
  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 22px;

  border: 0;
}


/* 개별 카드 */

.activity-info .info-grid > div {
  position: relative;

  min-height: 210px;

  padding: 38px 25px;

  background: #f8f6f0;

  border: 1px solid rgba(85, 114, 67, 0.18);
  border-radius: 18px;

  box-shadow:
    0 10px 25px rgba(50, 60, 40, 0.07);

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  border-right: 1px solid rgba(85, 114, 67, 0.18);
}


/* 숫자 */

.activity-info .info-grid span {
  display: block;

  margin-bottom: 18px;

  color: #557243;

  font-family: Georgia, serif;

  font-size: 32px;
  font-weight: 400;
}


/* 활동 기간 / 참여 인원 / 활동 장소 */

.activity-info .info-grid h3 {
  margin: 0 0 18px;

  color: #252525;

  font-size: 17px;
  font-weight: 700;
}


/* 실제 정보 */

.activity-info .info-grid p {
  margin: 0;

  color: #444;

  font-size: 15px;
  line-height: 1.8;

  word-break: keep-all;
}


/* 모바일 */

@media (max-width: 768px) {

  .activity-info {
    padding-top: 70px;
    padding-bottom: 70px;
  }

  .activity-info > h2 {
    margin-bottom: 38px;
    font-size: 30px;
  }

  .activity-info .info-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .activity-info .info-grid > div {
    min-height: 170px;
    padding: 30px 20px;
  }

}

/* =========================================
   ACTIVITY 08
   지역사회활동 추가 사진 + 설명
========================================= */

.activity08-gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;

  margin: 20px 0 35px;
}


/* 전체 카드 */

.activity08-gallery-card {
  overflow: hidden;

  background: #f8f6f0;

  border: 1px solid rgba(85, 114, 67, 0.16);
  border-radius: 18px;

  box-shadow:
    0 10px 25px rgba(0, 0, 0, 0.07);
}


/* 사진 */

.activity08-gallery-image {
  overflow: hidden;
}

.activity08-gallery-image img {
  width: 100%;
  height: auto;

  aspect-ratio: 4 / 3;

  object-fit: cover;

  display: block;
}


/* 사진 아래 설명 */

.activity08-gallery-text {
  padding: 24px 26px 28px;

  text-align: left;
}


/* 제목 */

.activity08-gallery-text h3 {
  margin: 0 0 12px;

  color: #3f5134;

  font-size: 20px;
  font-weight: 700;

  line-height: 1.4;

  word-break: keep-all;
}


/* 설명 */

.activity08-gallery-text p {
  margin: 0;

  color: #666;

  font-size: 14px;
  line-height: 1.8;

  word-break: keep-all;
}


/* 모바일 */

@media (max-width: 768px) {

  .activity08-gallery {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .activity08-gallery-text {
    padding: 20px 22px 24px;
  }

}
/* =========================================================
   OUR TEAM
   기존 디자인 유지 + 원형 확산 + 입체 그림자
========================================================= */


/* 기존 카드 디자인 유지 */
#spring .team-card {
  position: relative;
  overflow: hidden;

  /* 기존 radial-gradient 원은 제거하고
     아래 ::before로 똑같이 다시 만듦 */
  background: #ece6db;

  border: 1px solid rgba(73, 100, 56, 0.13);

  box-shadow:
    0 5px 12px rgba(54, 50, 38, 0.05),
    0 2px 4px rgba(54, 50, 38, 0.035);

  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}


/* =========================================
   오른쪽 위 기존 원형 장식
========================================= */

#spring .team-card::before {
  content: "";

  position: absolute;

  top: -50px;
  right: -50px;
  left: auto;

  width: 150px;
  height: 150px;

  border-radius: 50%;

  background: rgba(127, 160, 90, 0.09);

  transform: scale(1);
  transform-origin: center;

  transition:
    transform 0.65s cubic-bezier(.2, .7, .2, 1),
    background-color 0.45s ease;

  pointer-events: none;

  z-index: 0;
}


/* 글자와 번호가 원 위에 위치하도록 */
#spring .team-card > span,
#spring .team-card > h3 {
  position: relative;
  z-index: 2;
}


/* 기존 하단 영문도 원 위에 */
#spring .team-card::after {
  z-index: 2;
}


/* =========================================
   마우스 올렸을 때
========================================= */

#spring .team-card:hover {
  transform: translateY(-6px);

  /* 기존 색 유지 */
  background: #ece6db;

  border-color: rgba(73, 100, 56, 0.24);

  box-shadow:
    0 22px 40px rgba(60, 55, 40, 0.13),
    0 7px 15px rgba(60, 55, 40, 0.07);
}


/* 원이 카드 안쪽으로 크게 퍼짐 */
#spring .team-card:hover::before {
  width: 150px;
  height: 150px;

  transform: scale(2.35);

  background: rgba(127, 160, 90, 0.115);
}

/* =========================================
   OUR TEAM
   상단 초록 바 효과만 추가
========================================= */

#spring .team-card .team-hover-bar {
  position: absolute;

  top: 0;
  left: 0;

  width: 0;
  height: 3px;

  background: #7fa05a;

  z-index: 5;

  transition: width 0.4s ease;

  pointer-events: none;
}


/* 마우스를 올리면 왼쪽 → 오른쪽으로 채워짐 */
#spring .team-card:hover .team-hover-bar {
  width: 100%;
}

/* =========================================
   함께한 사람들 - 연락처 점선 연결
========================================= */

.people-contact > div::before {
  content: "";

  flex: 1;

  order: 2;

  margin: 0 16px;

  border-bottom: 1px dotted rgba(73, 100, 56, .42);
}


/* 팀명은 왼쪽 */
.people-contact > div > span {
  order: 1;
}


/* 전화번호는 오른쪽 */
.people-contact > div > strong {
  order: 3;
}


/* 모바일에서는 점선 제거 */
@media (max-width: 600px) {

  .people-contact > div::before {
    display: none;
  }

}

/* =========================================================
   TEAM MAIN COVER
   팀별 메인 - 에디토리얼 챕터 디자인
========================================================= */


/* =========================================
   공통
========================================= */

#women .sub-cover,
#youth .sub-cover,
#wifi .sub-cover,
#cafe .sub-cover {
  position: relative;
  overflow: hidden;
  isolation: isolate;

  min-height: 68vh;

  border-bottom: 1px solid rgba(255,255,255,.18);
}


/* 기존 글자가 장식보다 위로 */
#women .sub-cover > *,
#youth .sub-cover > *,
#wifi .sub-cover > *,
#cafe .sub-cover > * {
  position: relative;
  z-index: 2;
}


/* =========================================
   오른쪽의 대형 챕터 번호
========================================= */

#women .sub-cover::before,
#youth .sub-cover::before,
#wifi .sub-cover::before,
#cafe .sub-cover::before {
  position: absolute;

  right: 5vw;
  top: 50%;

  transform: translateY(-52%);

  font-family: Georgia, serif;

  font-size: clamp(230px, 27vw, 470px);
  font-weight: 400;

  line-height: .75;

  color: rgba(255,255,255,.09);

  letter-spacing: -20px;

  pointer-events: none;
  z-index: 0;
}


/* 팀별 번호 */

#women .sub-cover::before {
  content: "01";
}

#youth .sub-cover::before {
  content: "02";
}

#wifi .sub-cover::before {
  content: "03";
}

#cafe .sub-cover::before {
  content: "04";
}


/* =========================================
   오른쪽 아래 챕터 정보
========================================= */

#women .sub-cover::after,
#youth .sub-cover::after,
#wifi .sub-cover::after,
#cafe .sub-cover::after {
  position: absolute;

  right: 7vw;
  bottom: 6vw;

  width: 230px;

  padding-top: 15px;

  border-top: 1px solid rgba(255,255,255,.48);

  font-family: Georgia, serif;

  font-size: 11px;
  font-weight: 600;

  line-height: 2;

  letter-spacing: 2.5px;

  text-align: right;

  color: rgba(255,255,255,.82);

  white-space: pre-line;

  z-index: 2;
}


/* 팀별 영문 표기 */

#women .sub-cover::after {
  content: "WOMAN'S TEAM\A SPRING 2026";
}

#youth .sub-cover::after {
  content: "YOUTH TEAM\A SPRING 2026";
}

#wifi .sub-cover::after {
  content: "WIFI SCHOOL\A SPRING 2026";
}

#cafe .sub-cover::after {
  content: "RAINBOW CAFE\A SPRING 2026";
}


/* =========================================
   왼쪽 상단 작은 카테고리
========================================= */

#women .sub-cover > p:first-child,
#youth .sub-cover > p:first-child,
#wifi .sub-cover > p:first-child,
#cafe .sub-cover > p:first-child {
  display: flex;
  align-items: center;
  gap: 16px;

  width: fit-content;

  margin-bottom: 28px;

  font-size: 14px;
  font-weight: 600;

  letter-spacing: .3px;
}


/* 카테고리 옆 얇은 선 */

#women .sub-cover > p:first-child::after,
#youth .sub-cover > p:first-child::after,
#wifi .sub-cover > p:first-child::after,
#cafe .sub-cover > p:first-child::after {
  content: "";

  width: 55px;
  height: 1px;

  background: rgba(255,255,255,.62);
}


/* =========================================
   메인 제목 조금 정리
========================================= */

#women .sub-cover h1,
#youth .sub-cover h1,
#wifi .sub-cover h1,
#cafe .sub-cover h1 {
  max-width: 800px;

  position: relative;

  margin: 0;

  text-shadow:
    0 2px 12px rgba(50,40,30,.04);
}


/* =========================================
   팀별 배경색
========================================= */

/* 01 여성활동팀 - 현재 분위기 거의 유지 */
#women .sub-cover {
  background: #ad957b;
}


/* 02 청소년활동팀 - 차분한 올리브 */
#youth .sub-cover {
  background: #8d9279;
}


/* 03 위피스쿨 - 세이지 그레이 */
#wifi .sub-cover {
  background: #84918a;
}


/* 04 청소년카페 - 따뜻한 브라운 */
#cafe .sub-cover {
  background: #9d806d;
}


/* =========================================
   모바일
========================================= */

@media (max-width: 800px) {

  #women .sub-cover,
  #youth .sub-cover,
  #wifi .sub-cover,
  #cafe .sub-cover {
    min-height: 58vh;

    padding: 70px 8vw 110px;
  }


  #women .sub-cover::before,
  #youth .sub-cover::before,
  #wifi .sub-cover::before,
  #cafe .sub-cover::before {
    right: 3vw;
    top: 48%;

    font-size: clamp(170px, 48vw, 280px);

    opacity: .85;
  }


  #women .sub-cover::after,
  #youth .sub-cover::after,
  #wifi .sub-cover::after,
  #cafe .sub-cover::after {
    right: 8vw;
    bottom: 35px;

    width: 180px;

    font-size: 9px;
    letter-spacing: 2px;
  }

}

.logo::after {
  content: "2026";

  padding: 4px 7px;

  background: #557243;
  border: 1px solid #557243;

  color: #f4efe6;

  font-family: Georgia, serif;
  font-size: 9px;
  font-weight: 600;

  line-height: 1;
  letter-spacing: 1px;

  transform: translateY(1px);
}

/* =========================================================
   SUMMER / AUTUMN / WINTER
   COMING SOON SEASON COVER
========================================================= */

.season-coming-cover {
  padding: 7vw 6vw;
}


.season-coming-inner {
  width: 100%;
  max-width: 1400px;

  margin: 0 auto;

  display: grid;
  grid-template-columns:
    minmax(0, 1.2fr)
    minmax(360px, 500px);

  gap: 7vw;

  align-items: center;
}


/* =========================================
   왼쪽 기존 문구
========================================= */

.season-coming-copy {
  max-width: 850px;
}


.season-coming-copy .season-en {
  margin: 0 0 28px;
}


.season-coming-copy h1 {
  margin: 0 0 45px;

  max-width: 850px;
}


.season-coming-copy > p:last-child {
  max-width: 650px;

  margin: 0;

  font-size: 18px;
  line-height: 1.9;
}


/* =========================================
   오른쪽 COMING SOON 포스터
========================================= */

.season-coming-poster {
  position: relative;

  width: 100%;
  aspect-ratio: 4 / 5;

  overflow: hidden;

  padding: 38px;

  display: flex;
  flex-direction: column;
  justify-content: space-between;

  border: 1px solid rgba(30, 35, 30, .14);

  background: rgba(255,255,255,.26);

  box-shadow:
    0 18px 45px rgba(50,55,45,.07),
    0 4px 12px rgba(50,55,45,.04);
}


/* 오른쪽 위 큰 원형 장식 */
.season-coming-poster::before {
  content: "";

  position: absolute;

  top: -90px;
  right: -90px;

  width: 260px;
  height: 260px;

  border-radius: 50%;

  background: rgba(255,255,255,.20);
}


/* 왼쪽 아래 얇은 원 */
.season-coming-poster::after {
  content: "";

  position: absolute;

  left: -55px;
  bottom: 60px;

  width: 150px;
  height: 150px;

  border: 1px solid rgba(60,70,60,.12);
  border-radius: 50%;
}


/* 계절 번호 */
.coming-number {
  position: relative;
  z-index: 2;

  font-family: Georgia, serif;

  font-size: 20px;

  letter-spacing: 2px;

  opacity: .68;
}


/* 중앙 */
.coming-center {
  position: relative;
  z-index: 2;
}


.coming-center > p {
  margin: 0 0 18px;

  font-family: Georgia, serif;

  font-size: 11px;
  font-weight: 600;

  letter-spacing: 3px;

  opacity: .58;
}


.coming-center h2 {
  margin: 0 0 25px;

  font-family: Georgia, serif;

  font-size: clamp(43px, 4vw, 64px);
  font-weight: 400;

  line-height: .95;

  letter-spacing: -2px;
}


.coming-center > span {
  display: inline-block;

  padding-top: 15px;

  border-top: 1px solid currentColor;

  font-family: Georgia, serif;

  font-size: 10px;
  font-weight: 600;

  letter-spacing: 2.5px;

  opacity: .7;
}


/* 하단 */
.coming-year {
  position: relative;
  z-index: 2;

  margin: 0 !important;

  font-family: Georgia, serif;

  font-size: 10px !important;

  letter-spacing: 2px;

  opacity: .55;
}


/* =========================================
   계절별 아주 미세한 포인트
========================================= */

/* 여름 */
.summer-coming-poster {
  color: #425f68;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.34),
      rgba(190,214,213,.22)
    );
}


/* 가을 */
.autumn-coming-poster {
  color: #755944;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.32),
      rgba(193,159,125,.18)
    );
}


/* 겨울 */
.winter-coming-poster {
  color: #536774;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.35),
      rgba(178,194,203,.20)
    );
}


/* =========================================
   아주 작은 장식선
========================================= */

.season-coming-poster .coming-number::after {
  content: "";

  display: inline-block;

  width: 45px;
  height: 1px;

  margin-left: 13px;
  vertical-align: middle;

  background: currentColor;

  opacity: .35;
}


/* =========================================
   모바일
========================================= */

@media (max-width: 1000px) {

  .season-coming-inner {
    grid-template-columns: 1fr;

    gap: 55px;
  }


  .season-coming-poster {
    max-width: 420px;

    margin: 0 auto;
  }

}


@media (max-width: 600px) {

  .season-coming-cover {
    padding: 80px 7vw;
  }


  .season-coming-poster {
    max-width: 330px;

    padding: 28px;
  }


  .coming-center h2 {
    font-size: 42px;
  }

}

/* =========================================================
   SEASON DIVIDER BAR
   계절 표지 → 다음 콘텐츠 사이 장식 바
========================================================= */

/* 여름 / 가을 / 겨울 다음 섹션 기준점 */
#summer > .section-wrap,
#autumn > .section-wrap,
#winter > .section-wrap {
  position: relative;
}


/* 공통 장식 바 */
#summer > .section-wrap::before,
#autumn > .section-wrap::before,
#winter > .section-wrap::before {
  content: "";

  position: absolute;

  top: 0;
  left: calc(50% - 50vw + 6vw);

  width: 90px;
  height: 4px;
}


/* 여름 */
#summer > .section-wrap::before {
  background: #6f9da0;
}


/* 가을 */
#autumn > .section-wrap::before {
  background: #a87953;
}


/* 겨울 */
#winter > .section-wrap::before {
  background: #7f95a5;
}

.spring-outro {
  position: relative;
  padding: 125px 6vw 135px;

  background:
    radial-gradient(circle at 85% 18%, rgba(177, 221, 255, 0.32) 0%, rgba(177, 221, 255, 0) 28%),
    radial-gradient(circle at 78% 82%, rgba(255, 224, 163, 0.20) 0%, rgba(255, 224, 163, 0) 26%),
    linear-gradient(135deg, #f3eee5 0%, #ece6d8 38%, #eaf3f7 72%, #f7f1df 100%);

  border-top: 1px solid rgba(73,100,56,.12);
  overflow: hidden;
}

.spring-outro::before {
  content: "";
  position: absolute;
  top: 0;
  left: 6vw;
  width: 90px;
  height: 4px;
  background: #7fa05a;
}

.spring-outro::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;

  background:
    linear-gradient(
      115deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,0.18) 42%,
      rgba(186,225,255,0.16) 68%,
      rgba(255,236,188,0.14) 100%
    );

  mix-blend-mode: screen;
}

/* =========================================================
   SPRING OUTRO
   봄 → 여름 전환
========================================================= */

.spring-outro {
  position: relative;

  padding: 125px 6vw 135px;

  overflow: hidden;

  background:
    radial-gradient(
      circle at 88% 18%,
      rgba(173, 220, 247, .34) 0%,
      rgba(173, 220, 247, 0) 30%
    ),

    radial-gradient(
      circle at 78% 88%,
      rgba(246, 215, 158, .19) 0%,
      rgba(246, 215, 158, 0) 28%
    ),

    linear-gradient(
      125deg,
      #eee7da 0%,
      #eee8dd 33%,
      #e5eff1 70%,
      #edf4f1 100%
    );

  border-top:
    1px solid rgba(73,100,56,.12);
}


/* 봄에서 이어지는 포인트 바 */
.spring-outro::before {
  content: "";

  position: absolute;

  top: 0;
  left: 6vw;

  width: 90px;
  height: 4px;

  background: #7fa05a;
}


/* =========================================
   2열 구성
========================================= */

.spring-outro-inner {
  position: relative;
  z-index: 1;

  max-width: 1250px;

  margin: 0 auto;

  display: grid;

  grid-template-columns:
    minmax(340px, .82fr)
    minmax(0, 1.18fr);

  gap: 85px;

  align-items: center;
}


/* =========================================
   OUTRO 2열 구성
   INTRO의 좌우를 반대로 뒤집은 구조
========================================= */

.spring-outro-inner {
  position: relative;
  z-index: 1;

  max-width: 1400px;
  margin: 0 auto;

  display: grid;

  /* INTRO가 글 1.15 / 이미지 .85라면
     OUTRO는 정확히 반대로 */
  grid-template-columns:
    minmax(340px, .85fr)
    minmax(0, 1.15fr);

  gap: 80px;

  align-items: center;
}


/* =========================================
   왼쪽 책 이미지
   INTRO 사진과 같은 사이즈감
========================================= */

.spring-outro-page {
  width: 100%;

  aspect-ratio: 4 / 5;

  overflow: hidden;

  background: #e9e3d8;

  box-shadow:
    0 16px 35px rgba(0,0,0,.12),
    0 3px 8px rgba(0,0,0,.06);
}


.spring-outro-page img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;
  object-position: center;
}


/* =========================================
   오른쪽 내용
========================================= */

.spring-outro-content {
  max-width: 680px;
}


.spring-outro-content .section-label {
  margin: 0 0 25px;
}


/* 제목 */
.spring-outro-content h2 {
  margin: 0 0 42px;

  font-size: clamp(43px, 5vw, 68px);

  line-height: 1.12;

  letter-spacing: -3px;
}


/* 여름으로 넘어가는 부분만 은은한 파란색 */
.spring-outro-content h2 span {
  color: #557f91;
}


/* 본문 */
.spring-outro-text {
  max-width: 620px;
}


.spring-outro-text p {
  margin: 0 0 24px;

  color: #444;

  font-size: 17px;

  line-height: 1.95;

  word-break: keep-all;
}


/* =========================================
   NEXT ISSUE
========================================= */

.spring-outro-next {
  margin-top: 48px;

  padding: 27px 0 0;

  display: block;

  border-top:
    1px solid rgba(76,116,131,.30);
}


.spring-outro-next p {
  margin: 0 0 9px;

  color: #658899;

  font-family: Georgia, serif;

  font-size: 11px;
  font-weight: 700;

  letter-spacing: 3px;
}


.spring-outro-next strong {
  display: block;

  margin-bottom: 15px;

  color: #375f72;

  font-family: Georgia, serif;

  font-size: 25px;

  letter-spacing: 1px;
}


.spring-outro-next span {
  display: block;

  color: #596366;

  font-size: 15px;

  line-height: 1.8;
}


/* 버튼 */
.spring-outro-content .back-button {
  margin-top: 38px;
}


/* =========================================
   모바일
========================================= */

@media (max-width: 900px) {

  .spring-outro {
    padding: 90px 6vw 100px;
  }


  .spring-outro-inner {
    grid-template-columns: 1fr;

    gap: 60px;
  }


  .spring-outro-page {
    max-width: 420px;
  }


  .spring-outro-content {
    max-width: 650px;

    margin: 0 auto;
  }

}

/* =========================================================
   TEAM MAIN COVER
   기존 단정함 유지 + 에디토리얼 장식 보강
========================================================= */


/* 1. 공통 : 배경에 아주 은은한 빛 + 편집선 */
#women .sub-cover,
#youth .sub-cover,
#wifi .sub-cover,
#cafe .sub-cover {
  background-image:

    /* 오른쪽 위 은은한 빛 */
    radial-gradient(
      circle at 82% 25%,
      rgba(255,255,255,.13) 0,
      rgba(255,255,255,.06) 15%,
      transparent 34%
    ),

    /* 오른쪽 세로 편집선 */
    linear-gradient(
      90deg,
      transparent 0,
      transparent 73%,
      rgba(255,255,255,.10) 73%,
      rgba(255,255,255,.10) calc(73% + 1px),
      transparent calc(73% + 1px)
    ),

    /* 아래쪽 가로 편집선 */
    linear-gradient(
      180deg,
      transparent 0,
      transparent 82%,
      rgba(255,255,255,.08) 82%,
      rgba(255,255,255,.08) calc(82% + 1px),
      transparent calc(82% + 1px)
    );

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 -1px 0 rgba(0,0,0,.035);
}


/* 2. 대형 01~04를 조금 더 고급스럽게 */
#women .sub-cover::before,
#youth .sub-cover::before,
#wifi .sub-cover::before,
#cafe .sub-cover::before {
  color: rgba(255,255,255,.075);

  -webkit-text-stroke:
    1px rgba(255,255,255,.035);

  text-shadow:
    0 20px 50px rgba(30,30,20,.035);
}


/* 3. 제목 아래 4칸 챕터 표시 */
#women .sub-cover h1::after,
#youth .sub-cover h1::after,
#wifi .sub-cover h1::after,
#cafe .sub-cover h1::after {
  content: "";

  display: block;

  width: 11px;
  height: 11px;

  margin-top: 42px;
}


/* 01 여성활동팀 */
#women .sub-cover h1::after {
  background: rgba(255,255,255,.88);

  box-shadow:
    19px 0 0 rgba(255,255,255,.28),
    38px 0 0 rgba(255,255,255,.28),
    57px 0 0 rgba(255,255,255,.28);
}


/* 02 청소년활동팀 */
#youth .sub-cover h1::after {
  background: rgba(255,255,255,.28);

  box-shadow:
    19px 0 0 rgba(255,255,255,.88),
    38px 0 0 rgba(255,255,255,.28),
    57px 0 0 rgba(255,255,255,.28);
}


/* 03 위피스쿨 */
#wifi .sub-cover h1::after {
  background: rgba(255,255,255,.28);

  box-shadow:
    19px 0 0 rgba(255,255,255,.28),
    38px 0 0 rgba(255,255,255,.88),
    57px 0 0 rgba(255,255,255,.28);
}


/* 04 청소년카페 */
#cafe .sub-cover h1::after {
  background: rgba(255,255,255,.28);

  box-shadow:
    19px 0 0 rgba(255,255,255,.28),
    38px 0 0 rgba(255,255,255,.28),
    57px 0 0 rgba(255,255,255,.88);
}


/* 4. 오른쪽 하단 챕터 정보 조금 더 또렷하게 */
#women .sub-cover::after,
#youth .sub-cover::after,
#wifi .sub-cover::after,
#cafe .sub-cover::after {
  padding-top: 17px;

  border-top:
    1px solid rgba(255,255,255,.55);

  color: rgba(255,255,255,.90);

  text-shadow:
    0 1px 10px rgba(30,30,20,.05);
}


/* 모바일에서는 장식을 조금 약하게 */
@media (max-width: 800px) {

  #women .sub-cover,
  #youth .sub-cover,
  #wifi .sub-cover,
  #cafe .sub-cover {
    background-image:

      radial-gradient(
        circle at 88% 20%,
        rgba(255,255,255,.10),
        transparent 32%
      );
  }

  #women .sub-cover h1::after,
  #youth .sub-cover h1::after,
  #wifi .sub-cover h1::after,
  #cafe .sub-cover h1::after {
    margin-top: 30px;
  }

}

/* =========================================================
   TEAM MAIN COVER
   여성 / 청소년 / 위피 / 청소년카페
   최종 통합 디자인
========================================================= */


/* =========================================
   1. 공통 표지
========================================= */

#women .sub-cover,
#youth .sub-cover,
#wifi .sub-cover,
#cafe .sub-cover {
  position: relative;
  isolation: isolate;
  overflow: hidden;

  min-height: 68vh;

  padding: 8vw;

  display: flex;
  flex-direction: column;
  justify-content: center;

  color: #fff;

  border-bottom:
    1px solid rgba(255,255,255,.14);

  box-shadow:
    inset 0 -1px 0 rgba(0,0,0,.04);
}


/* =========================================
   2. 팀별 기본 배경색
========================================= */

/* 01 여성활동팀 */
#women .sub-cover {
  background-color: #ad957b;
}


/* 02 청소년활동팀 */
#youth .sub-cover {
  background-color: #8d9279;
}


/* 03 위피스쿨 */
#wifi .sub-cover {
  background-color: #84918a;
}


/* 04 청소년카페 */
#cafe .sub-cover {
  background-color: #9d806d;
}


/* =========================================
   3. 공통 배경 장식
   - 빛
   - 얇은 편집선
========================================= */

#women .sub-cover,
#youth .sub-cover,
#wifi .sub-cover,
#cafe .sub-cover {
  background-image:

    /* 오른쪽 위 은은한 빛 */
    radial-gradient(
      circle at 83% 24%,
      rgba(255,255,255,.15) 0%,
      rgba(255,255,255,.07) 17%,
      transparent 36%
    ),

    /* 오른쪽 세로선 */
    linear-gradient(
      90deg,
      transparent 0%,
      transparent 73%,
      rgba(255,255,255,.10) 73%,
      rgba(255,255,255,.10) calc(73% + 1px),
      transparent calc(73% + 1px)
    ),

    /* 아래 가로선 */
    linear-gradient(
      180deg,
      transparent 0%,
      transparent 84%,
      rgba(255,255,255,.09) 84%,
      rgba(255,255,255,.09) calc(84% + 1px),
      transparent calc(84% + 1px)
    );
}


/* =========================================
   4. 기존 내용은 장식보다 위로
========================================= */

#women .sub-cover > *,
#youth .sub-cover > *,
#wifi .sub-cover > *,
#cafe .sub-cover > * {
  position: relative;
  z-index: 3;
}


/* =========================================
   5. 왼쪽 상단
   SPRING · WOMAN'S STORY 등
========================================= */

#women .sub-cover > p:first-child,
#youth .sub-cover > p:first-child,
#wifi .sub-cover > p:first-child,
#cafe .sub-cover > p:first-child {
  width: fit-content;

  margin: 0 0 30px;

  display: flex;
  align-items: center;

  gap: 15px;

  font-size: 14px;
  font-weight: 600;

  letter-spacing: .4px;

  color: rgba(255,255,255,.92);
}


/* 옆의 작은 선 */
#women .sub-cover > p:first-child::after,
#youth .sub-cover > p:first-child::after,
#wifi .sub-cover > p:first-child::after,
#cafe .sub-cover > p:first-child::after {
  content: "";

  width: 58px;
  height: 1px;

  background:
    rgba(255,255,255,.58);
}


/* =========================================
   6. 메인 한글 제목
========================================= */

#women .sub-cover h1,
#youth .sub-cover h1,
#wifi .sub-cover h1,
#cafe .sub-cover h1 {
  position: relative;

  max-width: 820px;

  margin: 0;

  font-size:
    clamp(55px, 7vw, 92px);

  line-height: 1.08;

  letter-spacing: -4px;

  color: #fff;

  text-shadow:
    0 4px 22px rgba(30,25,20,.035);
}


/* =========================================
   7. 제목 아래 4칸 챕터 표시
========================================= */

#women .sub-cover h1::after,
#youth .sub-cover h1::after,
#wifi .sub-cover h1::after,
#cafe .sub-cover h1::after {
  content: "";

  display: block;

  width: 10px;
  height: 10px;

  margin-top: 42px;
}


/* 01 */
#women .sub-cover h1::after {
  background: rgba(255,255,255,.90);

  box-shadow:
    18px 0 0 rgba(255,255,255,.27),
    36px 0 0 rgba(255,255,255,.27),
    54px 0 0 rgba(255,255,255,.27);
}


/* 02 */
#youth .sub-cover h1::after {
  background: rgba(255,255,255,.27);

  box-shadow:
    18px 0 0 rgba(255,255,255,.90),
    36px 0 0 rgba(255,255,255,.27),
    54px 0 0 rgba(255,255,255,.27);
}


/* 03 */
#wifi .sub-cover h1::after {
  background: rgba(255,255,255,.27);

  box-shadow:
    18px 0 0 rgba(255,255,255,.27),
    36px 0 0 rgba(255,255,255,.90),
    54px 0 0 rgba(255,255,255,.27);
}


/* 04 */
#cafe .sub-cover h1::after {
  background: rgba(255,255,255,.27);

  box-shadow:
    18px 0 0 rgba(255,255,255,.27),
    36px 0 0 rgba(255,255,255,.27),
    54px 0 0 rgba(255,255,255,.90);
}


/* =========================================
   8. 오른쪽 대형 01 ~ 04
========================================= */

#women .sub-cover::before,
#youth .sub-cover::before,
#wifi .sub-cover::before,
#cafe .sub-cover::before {
  position: absolute;

  right: 4vw;
  top: 48%;

  transform:
    translateY(-50%);

  font-family:
    Georgia, serif;

  font-size:
    clamp(230px, 27vw, 470px);

  font-weight: 400;

  line-height: .75;

  letter-spacing: -20px;

  color:
    rgba(255,255,255,.075);

  pointer-events: none;

  z-index: 0;
}


#women .sub-cover::before {
  content: "01";
}

#youth .sub-cover::before {
  content: "02";
}

#wifi .sub-cover::before {
  content: "03";
}

#cafe .sub-cover::before {
  content: "04";
}


/* =========================================
   9. 오른쪽 아래 팀 라벨
   - 더 우측 하단
   - 라인과 살짝 겹치게
========================================= */

#women .sub-cover::after,
#youth .sub-cover::after,
#wifi .sub-cover::after,
#cafe .sub-cover::after {
  position: absolute;

  right: 3.6vw;
  bottom: 2.2vw;

  min-width: 205px;

  padding:
    14px 18px
    13px 20px;

  background:
    rgba(255,255,255,.10);

  border:
    1px solid
    rgba(255,255,255,.18);

  border-left:
    3px solid
    rgba(255,255,255,.68);

  color:
    rgba(255,255,255,.94);

  font-family:
    Georgia, serif;

  font-size: 11px;
  font-weight: 600;

  line-height: 1.9;

  letter-spacing: 2.4px;

  text-align: left;

  white-space: pre-line;

  backdrop-filter:
    blur(4px);

  -webkit-backdrop-filter:
    blur(4px);

  box-shadow:
    0 12px 28px
    rgba(30,30,25,.06);

  z-index: 4;
}


/* 팀별 문구 */

#women .sub-cover::after {
  content:
    "WOMAN'S TEAM\A SPRING 2026";
}

#youth .sub-cover::after {
  content:
    "YOUTH TEAM\A SPRING 2026";
}

#wifi .sub-cover::after {
  content:
    "WIFI SCHOOL\A SPRING 2026";
}

#cafe .sub-cover::after {
  content:
    "RAINBOW CAFE\A SPRING 2026";
}


/* =========================================
   10. 오른쪽 라벨 위 작은 점
   조금 더 편집디자인 느낌
========================================= */

#women .sub-cover .cover-deco,
#youth .sub-cover .cover-deco,
#wifi .sub-cover .cover-deco,
#cafe .sub-cover .cover-deco {
  display: none;
}


/* =========================================
   모바일
========================================= */

@media (max-width: 800px) {

  #women .sub-cover,
  #youth .sub-cover,
  #wifi .sub-cover,
  #cafe .sub-cover {
    min-height: 60vh;

    padding:
      75px 8vw
      130px;

    background-image:

      radial-gradient(
        circle at 88% 20%,
        rgba(255,255,255,.11),
        transparent 35%
      );
  }


  #women .sub-cover h1,
  #youth .sub-cover h1,
  #wifi .sub-cover h1,
  #cafe .sub-cover h1 {
    font-size:
      clamp(45px, 12vw, 68px);

    letter-spacing: -3px;
  }


  /* 대형 번호 */
  #women .sub-cover::before,
  #youth .sub-cover::before,
  #wifi .sub-cover::before,
  #cafe .sub-cover::before {
    top: 43%;
    right: 2vw;

    font-size:
      clamp(170px, 48vw, 270px);

    opacity: .78;
  }


  /* 오른쪽 영문 라벨 */
  #women .sub-cover::after,
  #youth .sub-cover::after,
  #wifi .sub-cover::after,
  #cafe .sub-cover::after {
    right: 8vw;
    bottom: 32px;

    min-width: 165px;

    padding:
      11px 13px
      10px 15px;

    font-size: 9px;

    line-height: 1.8;

    letter-spacing: 1.8px;
  }


  #women .sub-cover h1::after,
  #youth .sub-cover h1::after,
  #wifi .sub-cover h1::after,
  #cafe .sub-cover h1::after {
    margin-top: 30px;
  }

}

/* =========================================================
   RAINBOW CAFE
   SOSA / DODANG HERO
   FINAL
========================================================= */


/* =========================================
   공통 레이아웃
========================================= */

.sosa-cafe-hero,
.dodang-cafe-hero {
  position: relative;

  overflow: hidden;

  /* 너무 넓지 않도록 */
  min-height: clamp(420px, 48vh, 530px);

  padding:
    3.8vw
    8vw;

  display: grid;

  grid-template-columns:
    minmax(0, 1.12fr)
    minmax(310px, .88fr);

  gap: 55px;

  align-items: center;

  /* 기존 .sosa-hero의 flex 속성 무력화 */
  flex-direction: initial;
  justify-content: initial;

  color: #fff;
}


/* =========================================
   왼쪽 글
========================================= */

.cafe-hero-copy {
  position: relative;
  z-index: 3;

  max-width: 760px;
}


/* 상단 작은 영문 */
.cafe-hero-label {
  margin: 0 0 22px;

  font-family:
    Georgia, serif;

  font-size: 12px;
  font-weight: 600;

  letter-spacing: 2.5px;

  color:
    rgba(255,255,255,.88);
}


/* 작은 영문 옆 선 */
.cafe-hero-label::after {
  content: "";

  display: inline-block;

  width: 48px;
  height: 1px;

  margin-left: 14px;

  vertical-align: middle;

  background:
    rgba(255,255,255,.50);
}


/* 메인 제목 */
.cafe-hero-copy h1 {
  margin: 0 0 25px;

  font-size:
    clamp(48px, 5.4vw, 76px);

  line-height: 1.08;

  letter-spacing: -4px;

  color: #fff;
}


/* 설명 */
.cafe-hero-description {
  margin: 0;

  font-size: 17px;

  line-height: 1.8;

  color:
    rgba(255,255,255,.82);
}


/* =========================================
   오른쪽 공통 일러스트
========================================= */

.cafe-hero-visual {
  position: relative;

  width:
    min(34vw, 440px);

  aspect-ratio: 1;

  justify-self: end;

  /*
    오른쪽으로 살짝 밀어서
    화면 밖으로 자연스럽게 잘리게
  */
  transform:
    translateX(14%)
    scale(1.04);

  z-index: 2;
}


/* 메인 원 */
.cafe-visual-circle {
  position: absolute;

  inset: 8%;

  display: flex;

  align-items: center;
  justify-content: center;

  border:
    1px solid
    rgba(255,255,255,.27);

  border-radius: 50%;

  background:
    rgba(255,255,255,.055);

  box-shadow:
    0 20px 45px
    rgba(35,30,25,.055);

  backdrop-filter:
    blur(3px);

  -webkit-backdrop-filter:
    blur(3px);
}


/* 메인 아이콘 */
.cafe-visual-circle svg {
  width: 62%;
  height: 62%;

  fill: none;

  stroke:
    rgba(255,255,255,.86);

  stroke-width: 2;

  stroke-linecap: round;
  stroke-linejoin: round;
}


/* 큰 외곽 원 */
.cafe-hero-visual::before {
  content: "";

  position: absolute;

  inset: 0;

  border:
    1px solid
    rgba(255,255,255,.11);

  border-radius: 50%;

  pointer-events: none;
}


/* 살짝 어긋난 점선 원 */
.cafe-hero-visual::after {
  content: "";

  position: absolute;

  width: 68%;
  height: 68%;

  right: -4%;
  bottom: -3%;

  border:
    1px dashed
    rgba(255,255,255,.17);

  border-radius: 50%;

  pointer-events: none;
}


/* =========================================
   SOSA
   놀이 · 소통 · 아이디어
========================================= */

.sosa-cafe-hero {
  background:

    radial-gradient(
      circle at 87% 25%,
      rgba(255,255,255,.11),
      transparent 27%
    ),

    radial-gradient(
      circle at 70% 95%,
      rgba(218,190,172,.11),
      transparent 27%
    ),

    #967965;
}


/* 말풍선 */
.sosa-bubble {
  position: absolute;

  top: 7%;
  right: 0;

  width: 70px;
  height: 70px;

  padding: 14px;

  border:
    1px solid
    rgba(255,255,255,.21);

  background:
    rgba(255,255,255,.075);

  backdrop-filter:
    blur(3px);

  z-index: 3;
}


.sosa-bubble svg {
  width: 100%;
  height: 100%;

  fill: none;

  stroke:
    rgba(255,255,255,.72);

  stroke-width: 1.5;

  stroke-linecap: round;
  stroke-linejoin: round;
}


/* =========================================
   DODANG
   따뜻한 한 끼 · 관계
========================================= */

.dodang-cafe-hero {
  background:

    radial-gradient(
      circle at 86% 23%,
      rgba(255,236,196,.15),
      transparent 29%
    ),

    radial-gradient(
      circle at 67% 90%,
      rgba(255,255,255,.07),
      transparent 26%
    ),

    #a18a70;
}


/* 작은 하트 */
.dodang-heart {
  position: absolute;

  right: 1%;
  bottom: 8%;

  width: 70px;
  height: 70px;

  padding: 16px;

  display: flex;

  align-items: center;
  justify-content: center;

  border:
    1px solid
    rgba(255,255,255,.21);

  border-radius: 50%;

  background:
    rgba(255,255,255,.07);

  backdrop-filter:
    blur(3px);

  z-index: 3;
}


.dodang-heart svg {
  width: 100%;
  height: 100%;

  fill: none;

  stroke:
    rgba(255,255,255,.77);

  stroke-width: 1.6;

  stroke-linecap: round;
  stroke-linejoin: round;
}


/* =========================================
   작은 반짝임
========================================= */

.cafe-spark {
  position: absolute;

  color:
    rgba(255,255,255,.68);

  font-family:
    Georgia, serif;

  line-height: 1;

  pointer-events: none;

  z-index: 3;
}


.cafe-spark-one {
  left: 3%;
  top: 17%;

  font-size: 26px;
}


.cafe-spark-two {
  right: 15%;
  bottom: 1%;

  font-size: 18px;

  opacity: .58;
}


/* =========================================
   아주 얇은 하단 편집선
========================================= */

.sosa-cafe-hero::after,
.dodang-cafe-hero::after {
  content: "";

  position: absolute;

  left: 8vw;
  right: 8vw;
  bottom: 27px;

  height: 1px;

  background:
    rgba(255,255,255,.10);

  pointer-events: none;
}


/* =========================================
   모바일
========================================= */

@media (max-width: 850px) {

  .sosa-cafe-hero,
  .dodang-cafe-hero {
    min-height: auto;

    padding:
      60px 8vw
      35px;

    grid-template-columns: 1fr;

    gap: 20px;
  }


  .cafe-hero-copy h1 {
    font-size:
      clamp(44px, 11vw, 62px);

    letter-spacing: -3px;
  }


  .cafe-hero-description {
    font-size: 15px;
  }


  /* 모바일에서도 오른쪽으로 조금 잘림 */
  .cafe-hero-visual {
    width:
      min(68vw, 310px);

    justify-self: end;

    margin-top: -10px;

    transform:
      translateX(18%)
      scale(1);
  }


  .sosa-bubble,
  .dodang-heart {
    width: 58px;
    height: 58px;
  }


  .sosa-cafe-hero::after,
  .dodang-cafe-hero::after {
    left: 8vw;
    right: 8vw;
    bottom: 18px;
  }

}

/* =========================================================
   2025 MONTHLY ARCHIVE
   월간 부여청
========================================================= */

.archive25 {
  --a25-paper: #f7f2eb;
  --a25-ink: #29263a;

  --a25-purple: #5550c8;
  --a25-coral: #ef7180;
  --a25-blue: #65b9d0;
  --a25-orange: #eaa25f;
  --a25-lavender: #9797dc;

  background: var(--a25-paper);

  color: var(--a25-ink);
}


/* 공통 폭 */
.archive25-wrap {
  width: min(88%, 1280px);

  margin: 0 auto;
}


/* 공통 영문 */
.archive25-label,
.archive25-small {
  margin: 0;

  color: var(--a25-purple);

  font-family: Georgia, serif;

  font-size: 11px;
  font-weight: 700;

  letter-spacing: 3px;
}



/* =========================================================
   MAIN COVER
========================================================= */

.archive25-cover {
  position: relative;

  min-height: 82vh;

  padding: 7vw 6vw;

  display: flex;
  align-items: center;

  overflow: hidden;

  background:
    radial-gradient(
      circle at 88% 18%,
      rgba(103,185,208,.30),
      transparent 30%
    ),

    radial-gradient(
      circle at 9% 92%,
      rgba(239,113,128,.22),
      transparent 28%
    ),

    linear-gradient(
      125deg,
      #eeeaff 0%,
      #f8e5eb 57%,
      #f9e4c9 100%
    );
}


/* 사계 부여청과 연결되는 상단 작은 선 */
.archive25-cover::before {
  content: "";

  position: absolute;

  left: 6vw;
  top: 0;

  width: 90px;
  height: 4px;

  background:
    var(--a25-purple);
}


.archive25-cover-inner {
  width: 100%;
  max-width: 1400px;

  margin: 0 auto;

  display: grid;

  grid-template-columns:
    minmax(0, 1.15fr)
    minmax(340px, .85fr);

  gap: 90px;

  align-items: center;
}


/* 왼쪽 */
.archive25-cover-copy {
  position: relative;

  z-index: 2;
}


.archive25-small {
  margin-bottom: 30px;
}


.archive25-cover-copy h1 {
  margin: 0;

  max-width: 850px;

  color: #29263a;

  font-size:
    clamp(55px, 6.4vw, 92px);

  line-height: 1.08;

  letter-spacing: -5px;
}


.archive25-cover-copy h1 span {
  color:
    var(--a25-purple);
}


.archive25-lead {
  margin: 45px 0 0;

  color: #525064;

  font-size: 18px;

  line-height: 1.9;
}


.archive25-title-line {
  max-width: 620px;

  margin-top: 55px;

  padding-top: 18px;

  display: flex;

  justify-content: space-between;
  align-items: baseline;

  gap: 20px;

  border-top:
    1px solid rgba(85,80,200,.28);
}


.archive25-title-line strong {
  font-size: 15px;
}


.archive25-title-line span {
  color: #77728d;

  font-family: Georgia, serif;

  font-size: 10px;

  letter-spacing: 2px;
}


/* =========================================================
   2025 MAIN BOOK
   사계 부여청 메인 이미지와 크기 통일
========================================================= */

.archive25-main-book {
  width: 100%;
  max-width: 500px;

  margin: 0 auto;

  justify-self: center;
}


/* 표지 */
.archive25-main-book img {
  display: block;

  width: 100%;
  height: auto;

  box-shadow:
    0 22px 48px rgba(53,49,64,.11),
    0 5px 12px rgba(53,49,64,.05);
}


/* 하단 캡션 */
.archive25-main-book figcaption {
  margin-top: 14px;

  color: #817b8d;

  font-family: Georgia, serif;

  font-size: 9px;

  letter-spacing: 2px;

  text-align: right;
}


.archive25-main-book figcaption {
  margin-top: 14px;

  color: #77728d;

  font-family: Georgia, serif;

  font-size: 9px;

  letter-spacing: 2px;

  text-align: right;
}



/* =========================================================
   INTRO / OUTRO
========================================================= */

.archive25-editorial {
  position: relative;

  padding:
    125px 6vw;

  background:
    #f8f4ed;
}


.archive25-intro {
  background:
    #f8f4ed;
}


.archive25-outro {
  background:
    linear-gradient(
      125deg,
      #f8e1e3 0%,
      #eee9fb 58%,
      #e7eefb 100%
    );
}


/* 왼쪽의 사계형 작은 라인 */
.archive25-editorial::before {
  content: "";

  position: absolute;

  top: 0;
  left: 6vw;

  width: 90px;
  height: 4px;

  background:
    var(--a25-coral);
}


.archive25-outro::before {
  display: none;
}


.archive25-editorial-inner {
  max-width: 1250px;

  margin: 0 auto;

  display: grid;

  grid-template-columns:
    minmax(330px, .85fr)
    minmax(0, 1.15fr);

  gap: 85px;

  align-items: center;
}


/* OUTRO는 좌우 반전 */
.archive25-editorial-reverse {
  grid-template-columns:
    minmax(0, 1.15fr)
    minmax(330px, .85fr);
}


/* 실제 책 페이지 */
.archive25-editorial-page {
  width: 100%;
  max-width: 450px;

  margin: 0 auto;

  background: #fff;

  box-shadow:
    0 20px 45px rgba(50,45,70,.10),
    0 4px 12px rgba(50,45,70,.05);
}


.archive25-editorial-page img {
  display: block;

  width: 100%;
  height: auto;
}


/* 텍스트 */
.archive25-editorial-copy {
  max-width: 680px;
}


.archive25-editorial-copy .archive25-label {
  margin-bottom: 23px;
}


.archive25-editorial-copy h2 {
  margin: 0 0 42px;

  color: #29263a;

  font-size:
    clamp(43px, 5vw, 67px);

  line-height: 1.12;

  letter-spacing: -3px;
}


.archive25-editorial-copy h2 span {
  color:
    var(--a25-coral);
}


.archive25-outro
.archive25-editorial-copy h2 span {
  color:
    var(--a25-purple);
}


.archive25-body {
  max-width: 650px;
}


.archive25-body p {
  margin: 0 0 24px;

  color: #4f4c59;

  font-size: 16px;

  line-height: 1.95;

  word-break: keep-all;
}


.archive25-body .archive25-em {
  color: #31303a;

  font-size: 18px;

  font-weight: 600;
}


.archive25-thanks {
  margin-top: 38px !important;

  padding-top: 25px;

  border-top:
    1px solid rgba(85,80,200,.24);

  color:
    var(--a25-purple) !important;

  font-weight: 650;
}


.archive25-outro .back-button {
  margin-top: 35px;
}



/* =========================================================
   MONTH BY MONTH
========================================================= */

.archive25-monthly {
  position: relative;

  padding:
    125px 6vw
    140px;

  background:
    #f3eee8;
}


/* 사계와 연결되는 상단 선 */
.archive25-monthly::before {
  content: "";

  position: absolute;

  left: 6vw;
  top: 0;

  width: 90px;
  height: 4px;

  background:
    linear-gradient(
      90deg,
      var(--a25-coral) 0 25%,
      var(--a25-blue) 25% 50%,
      var(--a25-orange) 50% 75%,
      var(--a25-lavender) 75% 100%
    );
}


.archive25-section-head {
  margin-bottom: 75px;

  display: grid;

  grid-template-columns:
    1fr 1fr;

  gap: 80px;

  align-items: end;
}


.archive25-section-head h2 {
  margin: 14px 0 0;

  font-size:
    clamp(46px, 5vw, 68px);

  line-height: 1.1;

  letter-spacing: -3px;
}


.archive25-section-head > p {
  max-width: 540px;

  margin: 0 0 5px;

  color: #66616d;

  font-size: 16px;

  line-height: 1.85;
}


/* 10개월 */
.archive25-month-grid {
  display: grid;

  grid-template-columns:
    repeat(5, 1fr);

  gap:
    55px 24px;
}


/* 카드 자체는 최대한 단순하게 */
.archive25-month {
  padding-top: 18px;

  border-top:
    2px solid #ddd;
}


/* 사계 느낌을 살짝만 */
.archive25-spring {
  border-color:
    var(--a25-coral);
}

.archive25-summer {
  border-color:
    var(--a25-blue);
}

.archive25-autumn {
  border-color:
    var(--a25-orange);
}

.archive25-winter {
  border-color:
    var(--a25-lavender);
}


/* 월 */
.archive25-month header {
  margin-bottom: 18px;

  display: flex;

  justify-content: space-between;

  align-items: baseline;
}


.archive25-month header span {
  color: #29263a;

  font-family: Georgia, serif;

  font-size: 27px;
}


.archive25-month header strong {
  color: #77717d;

  font-family: Georgia, serif;

  font-size: 9px;
  font-weight: 600;

  letter-spacing: 1.7px;
}


/* 책 두 권 */
.archive25-books {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 9px;
}


.archive25-books figure {
  margin: 0;
}


.archive25-books img {
  display: block;

  width: 100%;
  height: auto;

  background: #fff;

  box-shadow:
    0 8px 20px rgba(43,37,58,.09);

  transition:
    transform .3s ease,
    box-shadow .3s ease;
}


.archive25-books figure:hover img {
  transform:
    translateY(-5px);

  box-shadow:
    0 15px 27px rgba(43,37,58,.14);
}


.archive25-books figcaption {
  margin-top: 10px;

  color: #77717d;

  font-size: 9px;

  line-height: 1.4;

  text-align: center;
}



/* =========================================================
   READ ARCHIVE
========================================================= */

.archive25-read {
  padding:
    110px 6vw;

  color: #fff;

  background:
    #4f4ab8;
}


.archive25-read .archive25-label {
  color:
    rgba(255,255,255,.68);
}


.archive25-read .archive25-wrap {
  display: grid;

  grid-template-columns:
    .8fr 1.2fr;

  gap: 90px;

  align-items: start;
}


.archive25-read-title h2 {
  margin: 15px 0 0;

  color: #fff;

  font-size:
    clamp(42px, 4.6vw, 63px);

  line-height: 1.12;

  letter-spacing: -3px;
}


.archive25-read-links {
  border-top:
    1px solid rgba(255,255,255,.28);
}


.archive25-read-links a {
  min-height: 105px;

  padding:
    21px 5px;

  display: grid;

  grid-template-columns:
    40px 1fr 30px;

  gap: 20px;

  align-items: center;

  color: #fff;

  text-decoration: none;

  border-bottom:
    1px solid rgba(255,255,255,.20);

  transition:
    padding-left .25s ease,
    background .25s ease;
}


.archive25-read-links a:hover {
  padding-left: 15px;

  background:
    rgba(255,255,255,.06);
}


.archive25-read-links > a > span {
  font-family: Georgia, serif;

  font-size: 13px;

  opacity: .55;
}


.archive25-read-links small {
  display: block;

  margin-bottom: 7px;

  font-family: Georgia, serif;

  font-size: 9px;

  letter-spacing: 2px;

  opacity: .62;
}


.archive25-read-links strong {
  font-size: 17px;
}


.archive25-read-links b {
  font-size: 20px;

  font-weight: 400;
}


.archive25-notice {
  grid-column: 2;

  margin: 15px 0 0;

  color:
    rgba(255,255,255,.58);

  font-size: 11px;

  line-height: 1.7;
}



/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 1000px) {

  .archive25-cover-inner {
    grid-template-columns:
      1fr;

    gap: 60px;
  }


  @media (max-width: 1000px) {

  .archive25-main-book {
    max-width: 420px;
  }

  }


  .archive25-editorial-inner,
  .archive25-editorial-reverse {
    grid-template-columns:
      1fr;

    gap: 60px;
  }


  /* 아웃트로는 모바일에서 글 먼저 */
  .archive25-editorial-reverse
  .archive25-editorial-copy {
    order: 1;
  }


  .archive25-editorial-reverse
  .archive25-editorial-page {
    order: 2;
  }


  .archive25-month-grid {
    grid-template-columns:
      repeat(3, 1fr);
  }


  .archive25-read .archive25-wrap {
    grid-template-columns:
      1fr;

    gap: 55px;
  }


  .archive25-notice {
    grid-column: 1;
  }

}



@media (max-width: 700px) {

  .archive25-cover {
    min-height: auto;

    padding:
      85px 7vw;
  }


  .archive25-cover-copy h1 {
    font-size:
      clamp(45px, 12vw, 62px);

    letter-spacing: -3px;
  }


  .archive25-title-line {
    align-items: flex-start;

    flex-direction: column;
  }


  .archive25-editorial,
  .archive25-monthly,
  .archive25-read {
    padding:
      85px 7vw;
  }


  .archive25-section-head {
    grid-template-columns:
      1fr;

    gap: 30px;

    margin-bottom: 55px;
  }


  .archive25-month-grid {
    grid-template-columns:
      repeat(2, 1fr);

    gap:
      45px 18px;
  }


  .archive25-month header span {
    font-size: 23px;
  }

}



@media (max-width: 480px) {

  .archive25-month-grid {
    grid-template-columns:
      1fr;
  }


  .archive25-books {
    gap: 14px;
  }

}

/* =========================================================
   2025 ARCHIVE
   COLOR TONE DOWN
   화려한 색감 → 차분한 매거진 톤
========================================================= */

.archive25 {

  /* 종이 배경 */
  --a25-paper: #f5f0e9;

  /* 기본 글자 */
  --a25-ink: #35323b;

  /* 기존 쨍한 보라 → 더스티 인디고 */
  --a25-purple: #716d94;

  /* 기존 핑크 → 말린 장미 */
  --a25-coral: #c98289;

  /* 기존 하늘색 → 블루그레이 */
  --a25-blue: #7fa5ad;

  /* 기존 오렌지 → 베이지 오렌지 */
  --a25-orange: #bd9270;

  /* 기존 라벤더 → 회보라 */
  --a25-lavender: #9993aa;

}


/* =========================================================
   MAIN
========================================================= */

.archive25-cover {
  background:

    radial-gradient(
      circle at 88% 18%,
      rgba(127,165,173,.20),
      transparent 30%
    ),

    radial-gradient(
      circle at 9% 92%,
      rgba(201,130,137,.15),
      transparent 28%
    ),

    linear-gradient(
      125deg,
      #eeeae9 0%,
      #f3e9eb 55%,
      #f1e7dc 100%
    );
}


/* 메인 제목 */
.archive25-cover-copy h1 {
  color: #36333c;
}


/* 강조 글자 */
.archive25-cover-copy h1 span {
  color: #686486;
}


/* 설명 */
.archive25-lead {
  color: #66616b;
}


/* 월간 부여청 하단 라인 */
.archive25-title-line {
  border-color:
    rgba(113,109,148,.22);
}


/* =========================================================
   INTRO
========================================================= */

.archive25-intro {
  background:
    #f7f3ed;
}


.archive25-editorial-copy h2 {
  color: #36333c;
}


/* 인트로 강조 글자 */
.archive25-intro
.archive25-editorial-copy h2 span {
  color: #b87980;
}


/* 본문 */
.archive25-body p {
  color: #5e5961;
}


.archive25-body .archive25-em {
  color: #3e3a42;
}


/* =========================================================
   MONTHLY ARCHIVE
========================================================= */

.archive25-monthly {
  background:
    #f1ede7;
}


.archive25-section-head h2 {
  color: #36333c;
}


.archive25-section-head > p {
  color: #6c676d;
}


/* 월 숫자도 검정보다 살짝 부드럽게 */
.archive25-month header span {
  color: #47434c;
}


.archive25-month header strong {
  color: #827c82;
}


/* 표지 설명 */
.archive25-books figcaption {
  color: #817b81;
}


/* =========================================================
   계절별 라인 색상도 한 톤 다운
========================================================= */

.archive25-spring {
  border-color: #c98289;
}

.archive25-summer {
  border-color: #7fa5ad;
}

.archive25-autumn {
  border-color: #bd9270;
}

.archive25-winter {
  border-color: #9993aa;
}


/* 위쪽 사계 컬러 라인 */
.archive25-monthly::before {
  background:
    linear-gradient(
      90deg,
      #c98289 0 25%,
      #7fa5ad 25% 50%,
      #bd9270 50% 75%,
      #9993aa 75% 100%
    );
}


/* =========================================================
   READ THE ARCHIVE
   가장 쨍했던 보라 영역
========================================================= */

.archive25-read {
  background:
    #66617d;
}


/* 링크 글씨는 완전 새하얗게 하지 않음 */
.archive25-read,
.archive25-read-links a {
  color:
    rgba(255,255,255,.91);
}


.archive25-read-title h2 {
  color:
    #f7f4f0;
}


.archive25-read .archive25-label {
  color:
    rgba(255,255,255,.58);
}


.archive25-read-links {
  border-color:
    rgba(255,255,255,.22);
}


.archive25-read-links a {
  border-color:
    rgba(255,255,255,.16);
}


.archive25-read-links a:hover {
  background:
    rgba(255,255,255,.055);
}


/* =========================================================
   OUTRO
========================================================= */

.archive25-outro {
  background:

    radial-gradient(
      circle at 15% 80%,
      rgba(201,130,137,.13),
      transparent 30%
    ),

    linear-gradient(
      125deg,
      #f2e9e8 0%,
      #eeeaf0 58%,
      #e8ecee 100%
    );
}


/* 아웃트로 강조 */
.archive25-outro
.archive25-editorial-copy h2 span {
  color: #716d94;
}


/* 마지막 문장 */
.archive25-thanks {
  border-color:
    rgba(113,109,148,.20);

  color:
    #696483 !important;
}


/* =========================================================
   이미지 그림자도 조금 더 부드럽게
========================================================= */

.archive25-main-book img {
  box-shadow:
    0 24px 48px rgba(53,49,64,.11),
    0 5px 12px rgba(53,49,64,.05);
}


.archive25-editorial-page {
  box-shadow:
    0 20px 42px rgba(53,49,64,.085),
    0 4px 10px rgba(53,49,64,.04);
}


.archive25-books img {
  box-shadow:
    0 7px 17px rgba(53,49,64,.07);
}


.archive25-books figure:hover img {
  box-shadow:
    0 14px 25px rgba(53,49,64,.11);
}

/* =========================================================
   2025 → 2026
   MONTHLY TO FOUR SEASONS
========================================================= */

.archive25-bridge {
  position: relative;

  padding:
    135px 6vw
    115px;

  overflow: hidden;

  background:
    radial-gradient(
      circle at 88% 12%,
      rgba(127,165,173,.15),
      transparent 28%
    ),

    radial-gradient(
      circle at 8% 90%,
      rgba(201,130,137,.11),
      transparent 27%
    ),

    #eee9e2;
}


/* 사계로 넘어가는 4계절 라인 */
.archive25-bridge::before {
  content: "";

  position: absolute;

  top: 0;
  left: 0;

  width: 100%;
  height: 4px;

  background:
    linear-gradient(
      90deg,
      #c98289 0 25%,
      #7fa5ad 25% 50%,
      #bd9270 50% 75%,
      #9993aa 75% 100%
    );
}


.archive25-bridge-inner {
  max-width: 1250px;

  margin: 0 auto;
}


/* 상단 작은 영문 */
.archive25-bridge-label {
  margin: 0 0 55px;

  color: #77728b;

  font-family: Georgia, serif;

  font-size: 10px;
  font-weight: 600;

  letter-spacing: 3px;
}


/* =========================================
   메인 내용
========================================= */

.archive25-bridge-grid {
  display: grid;

  grid-template-columns:
    .9fr 1.1fr;

  gap: 100px;

  align-items: start;
}


.archive25-bridge-year {
  margin: 0 0 18px;

  color: #948e99;

  font-family: Georgia, serif;

  font-size: 13px;

  letter-spacing: 2px;
}


.archive25-bridge-title h2 {
  margin: 0;

  color: #36323a;

  font-size:
    clamp(48px, 5.3vw, 73px);

  line-height: 1.12;

  letter-spacing: -3px;
}


.archive25-bridge-title h2 span {
  color: #716d94;
}


.archive25-bridge-story {
  max-width: 610px;
}


.archive25-bridge-story p {
  margin: 0 0 25px;

  color: #5d5860;

  font-size: 16px;

  line-height: 1.95;

  word-break: keep-all;
}


.archive25-bridge-story strong {
  color: #403c44;

  font-weight: 650;
}


/* =========================================
   MONTHLY → CONNECT → FOUR SEASONS
========================================= */

.archive25-transition {
  margin-top: 100px;

  padding:
    30px 0;

  display: grid;

  grid-template-columns:
    1fr auto
    1fr auto
    1fr;

  gap: 28px;

  align-items: center;

  border-top:
    1px solid rgba(74,69,81,.16);

  border-bottom:
    1px solid rgba(74,69,81,.16);
}


.archive25-transition > div {
  display: flex;

  flex-direction: column;
}


.archive25-transition span {
  margin-bottom: 24px;

  color: #96909e;

  font-family: Georgia, serif;

  font-size: 12px;
}


.archive25-transition small {
  margin-bottom: 8px;

  color: #817b8b;

  font-family: Georgia, serif;

  font-size: 9px;
  font-weight: 600;

  letter-spacing: 2px;
}


.archive25-transition strong {
  color: #47434a;

  font-size: 15px;
  font-weight: 600;

  line-height: 1.6;
}


.archive25-transition i {
  color: #aaa4ad;

  font-family: Georgia, serif;

  font-size: 20px;

  font-style: normal;
}


/* =========================================
   마지막 CTA
========================================= */

.archive25-bridge-footer {
  margin-top: 100px;

  padding-top: 55px;

  display: flex;

  align-items: flex-end;
  justify-content: space-between;

  gap: 60px;
}


.archive25-bridge-footer p {
  margin: 0 0 13px;

  color: #827c8b;

  font-family: Georgia, serif;

  font-size: 10px;
  font-weight: 600;

  letter-spacing: 2.5px;
}


.archive25-bridge-footer h3 {
  margin: 0;

  color: #36323a;

  font-size:
    clamp(36px, 4vw, 54px);

  line-height: 1.18;

  letter-spacing: -2px;
}


.archive25-bridge-footer h3 span {
  color: #657651;
}


/* 버튼 */
.archive25-four-button {
  min-width: 245px;

  padding:
    19px 24px;

  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 35px;

  border:
    1px solid rgba(72,82,61,.38);

  background:
    transparent;

  color: #4e5f42;

  font-family: inherit;

  font-size: 14px;
  font-weight: 650;

  cursor: pointer;

  transition:
    background .3s ease,
    color .3s ease,
    transform .3s ease;
}


.archive25-four-button span {
  font-family: Georgia, serif;

  font-size: 20px;
}


.archive25-four-button:hover {
  transform:
    translateY(-3px);

  background:
    #647553;

  color:
    #fff;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 850px) {

  .archive25-bridge {
    padding:
      90px 7vw;
  }


  .archive25-bridge-grid {
    grid-template-columns:
      1fr;

    gap: 50px;
  }


  .archive25-transition {
    grid-template-columns:
      1fr;

    gap: 20px;
  }


  .archive25-transition i {
    transform:
      rotate(90deg);

    width: fit-content;
  }


  .archive25-transition > div {
    padding:
      12px 0;
  }


  .archive25-transition span {
    margin-bottom: 12px;
  }


  .archive25-bridge-footer {
    margin-top: 70px;

    align-items: flex-start;

    flex-direction: column;
  }


  .archive25-four-button {
    width: 100%;
  }

}

/* =========================================================
   2025 INTRO / OUTRO GRAPHIC
   책 이미지 대신 편집 그래픽
========================================================= */


/* =========================================================
   INTRO GRAPHIC
========================================================= */

.archive25-intro-graphic {
  position: relative;

  width: 100%;
  max-width: 470px;
  aspect-ratio: 4 / 5;

  margin: 0 auto;

  padding: 38px;

  display: flex;
  flex-direction: column;

  overflow: hidden;

  color: #3e3a45;

  background:
    radial-gradient(
      circle at 90% 8%,
      rgba(127,165,173,.16),
      transparent 28%
    ),
    linear-gradient(
      145deg,
      #eee8e6,
      #f3ece8
    );

  border:
    1px solid rgba(72,67,80,.12);

  box-shadow:
    0 18px 42px rgba(53,49,64,.08);
}


/* 오른쪽 위 큰 원 */
.archive25-intro-graphic::before {
  content: "";

  position: absolute;

  top: -70px;
  right: -65px;

  width: 190px;
  height: 190px;

  border-radius: 50%;

  border:
    1px solid rgba(113,109,148,.15);
}


/* 상단 */
.archive25-graphic-top {
  position: relative;
  z-index: 2;

  display: flex;
  align-items: flex-start;
  justify-content: space-between;

  padding-bottom: 25px;

  border-bottom:
    1px solid rgba(72,67,80,.16);
}


.archive25-graphic-top span {
  color: #817b88;

  font-family: Georgia, serif;

  font-size: 9px;

  letter-spacing: 2.5px;
}


.archive25-graphic-top strong {
  color: #6e6987;

  font-family: Georgia, serif;

  font-size: 24px;

  font-weight: 400;
}


/* 03~12 */
.archive25-month-index {
  margin-top: 42px;

  display: grid;

  grid-template-columns:
    repeat(5,1fr);

  gap:
    11px 7px;
}


.archive25-month-index span {
  height: 43px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #77717c;

  font-family: Georgia, serif;

  font-size: 12px;

  border:
    1px solid rgba(72,67,80,.15);
}


/* MAGAZINE → REPORT */
.archive25-cycle {
  flex: 1;

  margin-top: 45px;

  display: grid;

  grid-template-columns:
    1fr auto 1fr;

  gap: 17px;

  align-items: center;
}


.archive25-cycle > div {
  padding-top: 16px;

  border-top:
    2px solid #c98289;
}


.archive25-cycle > div:last-child {
  border-color:
    #7fa5ad;
}


.archive25-cycle small {
  display: block;

  margin-bottom: 9px;

  color: #948e97;

  font-family: Georgia, serif;

  font-size: 7px;

  letter-spacing: 1.4px;
}


.archive25-cycle strong {
  display: block;

  margin-bottom: 10px;

  color: #55515b;

  font-family: Georgia, serif;

  font-size: 15px;

  letter-spacing: 1px;
}


.archive25-cycle p {
  margin: 0;

  color: #716b73;

  font-size: 11px;

  line-height: 1.65;
}


.archive25-cycle-arrow {
  color: #aaa3aa;

  font-family: Georgia, serif;

  font-size: 18px;
}


/* 하단 */
.archive25-graphic-caption {
  margin: 30px 0 0;

  padding-top: 15px;

  color: #918b94;

  font-family: Georgia, serif;

  font-size: 8px;

  letter-spacing: 2px;

  border-top:
    1px solid rgba(72,67,80,.14);
}



/* =========================================================
   OUTRO GRAPHIC
========================================================= */

.archive25-outro-graphic {
  position: relative;

  width: 100%;
  max-width: 470px;
  aspect-ratio: 4 / 5;

  margin: 0 auto;

  padding: 38px;

  display: flex;
  flex-direction: column;

  overflow: hidden;

  background:
    radial-gradient(
      circle at 10% 90%,
      rgba(201,130,137,.13),
      transparent 28%
    ),

    linear-gradient(
      145deg,
      #ece8ee,
      #edf0ef
    );

  border:
    1px solid rgba(72,67,80,.12);

  box-shadow:
    0 18px 42px rgba(53,49,64,.08);
}


/* 배경 큰 숫자 */
.archive25-outro-graphic::before {
  content: "4";

  position: absolute;

  right: -18px;
  bottom: -65px;

  color:
    rgba(113,109,148,.055);

  font-family:
    Georgia, serif;

  font-size: 310px;

  line-height: 1;

  pointer-events: none;
}


/* 2025 → 2026 */
.archive25-outro-years {
  position: relative;
  z-index: 2;

  display: flex;

  align-items: center;
  justify-content: space-between;

  padding-bottom: 22px;

  border-bottom:
    1px solid rgba(72,67,80,.16);
}


.archive25-outro-years span {
  color: #716d82;

  font-family: Georgia, serif;

  font-size: 16px;

  letter-spacing: 1px;
}


.archive25-outro-years i {
  color: #a29ca5;

  font-family: Georgia, serif;

  font-size: 17px;

  font-style: normal;
}


/* 제목 */
.archive25-outro-title {
  position: relative;
  z-index: 2;

  margin-top: 45px;
}


.archive25-outro-title small {
  display: block;

  margin-bottom: 15px;

  color: #89838f;

  font-family: Georgia, serif;

  font-size: 8px;

  letter-spacing: 2px;
}


.archive25-outro-title strong {
  color: #413d47;

  font-size: 30px;

  line-height: 1.25;

  letter-spacing: -1px;
}


/* 기록 흐름 */
.archive25-record-flow {
  position: relative;
  z-index: 2;

  flex: 1;

  margin-top: 45px;
}


/* 10개월 */
.archive25-record-months {
  display: grid;

  grid-template-columns:
    repeat(5,1fr);

  gap: 7px;
}


.archive25-record-months span {
  height: 30px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #87818a;

  font-family: Georgia, serif;

  font-size: 9px;

  border-bottom:
    1px solid rgba(72,67,80,.17);
}


/* 가운데 연결선 */
.archive25-flow-line {
  width: 1px;
  height: 35px;

  margin:
    16px auto;

  background:
    linear-gradient(
      #aaa4ad,
      rgba(170,164,173,.15)
    );
}


/* 4계절 */
.archive25-four-seasons {
  display: grid;

  grid-template-columns:
    repeat(4,1fr);

  gap: 7px;
}


.archive25-four-seasons > div {
  min-height: 58px;

  padding:
    8px 5px;

  display: flex;

  flex-direction: column;
  justify-content: space-between;

  border-top:
    2px solid #c98289;
}


.archive25-four-seasons > div:nth-child(2) {
  border-color:
    #7fa5ad;
}


.archive25-four-seasons > div:nth-child(3) {
  border-color:
    #bd9270;
}


.archive25-four-seasons > div:nth-child(4) {
  border-color:
    #9993aa;
}


.archive25-four-seasons span {
  color: #99939c;

  font-family: Georgia, serif;

  font-size: 8px;
}


.archive25-four-seasons strong {
  color: #625d66;

  font-family: Georgia, serif;

  font-size: 8px;

  letter-spacing: .6px;
}


/* OUTRO 하단 */
.archive25-outro-caption {
  position: relative;
  z-index: 2;

  margin: 20px 0 0;

  color: #89838f;

  font-family: Georgia, serif;

  font-size: 8px;

  line-height: 1.6;

  letter-spacing: 2px;
}



/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 850px) {

  .archive25-intro-graphic,
  .archive25-outro-graphic {
    max-width: 420px;
  }

}


@media (max-width: 480px) {

  .archive25-intro-graphic,
  .archive25-outro-graphic {
    padding: 28px;
  }


  .archive25-outro-title strong {
    font-size: 26px;
  }

}

/* =========================================
   2025 월간 부여청 - 링크 보기 영역 강조
========================================= */

.archive25-links-section {
  padding: 90px 0 70px;
  background: #756f93; /* 기존 보라톤 유지 */
}

.archive25-links-wrap {
  width: min(1120px, 92%);
  margin: 0 auto;
}

.archive25-link-card {
  position: relative;
  display: grid;
  grid-template-columns: 72px 1fr 44px;
  align-items: center;
  gap: 24px;

  padding: 28px 26px;
  margin-bottom: 18px;

  text-decoration: none;
  color: #fff;

  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 18px;

  box-shadow: 0 10px 24px rgba(35, 25, 62, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

.archive25-link-card:hover {
  transform: translateY(-4px);
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.26);
  box-shadow: 0 18px 34px rgba(35, 25, 62, 0.16);
}

.archive25-link-no {
  width: 54px;
  height: 54px;
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  font-family: Georgia, serif;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 1px;

  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.archive25-link-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.archive25-link-label {
  display: inline-block;
  font-family: Georgia, serif;
  font-size: 11px;
  letter-spacing: 2.4px;
  color: rgba(255, 255, 255, 0.72);
}

.archive25-link-title {
  font-size: 34px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.5px;
  color: #fff;
}

.archive25-link-arrow {
  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 29px;
  font-weight: 700;
  color: #fff;
  opacity: 0.95;
  transition: transform 0.25s ease;
}

.archive25-link-card:hover .archive25-link-arrow {
  transform: translate(4px, -4px);
}

.archive25-links-note {
  margin: 18px 4px 0;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.76);
}


/* 반응형 */
@media (max-width: 900px) {
  .archive25-link-card {
    grid-template-columns: 60px 1fr 36px;
    gap: 18px;
    padding: 24px 20px;
  }

  .archive25-link-title {
    font-size: 26px;
  }
}

@media (max-width: 640px) {
  .archive25-link-card {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 22px 18px;
  }

  .archive25-link-no {
    width: 46px;
    height: 46px;
    font-size: 15px;
  }

  .archive25-link-title {
    font-size: 22px;
  }

  .archive25-link-arrow {
    justify-content: flex-start;
    font-size: 24px;
  }

  .archive25-links-note {
    font-size: 13px;
  }
}

/* =========================================================
   2025 월간 부여청
   전자책 / 구글문서 / 고화질 링크만 최종 수정
========================================================= */


/* 3개 링크가 들어가는 영역
   기존 상단 가로선 제거 */
.archive25-read .archive25-read-links {
  display: flex;
  flex-direction: column;
  gap: 18px;

  border-top: none !important;
}


/* ---------------------------------------------------------
   링크 박스
--------------------------------------------------------- */

.archive25-read .archive25-link-card {
  width: 100%;
  min-height: 118px;

  padding: 24px 28px;

  display: grid;

  /* 좌우 폭을 똑같게 해서
     가운데 글자가 한쪽으로 치우치지 않게 */
  grid-template-columns:
    72px
    minmax(0, 1fr)
    72px;

  gap: 22px;

  align-items: center;

  color: #fff;
  text-decoration: none;

  background:
    rgba(255,255,255,.055);

  border:
    1px solid rgba(255,255,255,.18);

  border-radius: 18px;

  box-shadow:
    0 8px 22px rgba(41,36,59,.07);

  transition:
    transform .28s ease,
    background .28s ease,
    border-color .28s ease,
    box-shadow .28s ease;
}


/* 마우스 올렸을 때 */
.archive25-read .archive25-link-card:hover {
  transform: translateY(-4px);

  background:
    rgba(255,255,255,.095);

  border-color:
    rgba(255,255,255,.30);

  box-shadow:
    0 16px 30px rgba(41,36,59,.13);
}


/* ---------------------------------------------------------
   01 / 02 / 03
   기존 동그라미보다 작은 사각 라벨로
--------------------------------------------------------- */

.archive25-read .archive25-link-no {
  width: 50px;
  height: 50px;

  justify-self: center;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 12px;

  background:
    rgba(255,255,255,.075);

  border:
    1px solid rgba(255,255,255,.17);

  color:
    rgba(255,255,255,.78);

  font-family:
    Georgia, serif;

  font-size: 13px;
  font-weight: 600;

  letter-spacing: 1px;
}


/* ---------------------------------------------------------
   가운데 글자
--------------------------------------------------------- */

.archive25-read .archive25-link-text {
  min-width: 0;

  display: flex;
  flex-direction: column;

  align-items: center;

  text-align: center;
}


/* ONLINE FLIPBOOK 등 */
.archive25-read .archive25-link-text small {
  display: block;

  margin: 0 0 9px;

  color:
    rgba(255,255,255,.58);

  font-family:
    Georgia, serif;

  font-size: 10px;
  font-weight: 600;

  line-height: 1;

  letter-spacing: 2.4px;
}


/* 전자책으로 보기 등 */
.archive25-read .archive25-link-text strong {
  display: block;

  color: #faf8f4;

  font-size: 23px;
  font-weight: 700;

  line-height: 1.3;

  letter-spacing: -.5px;

  word-break: keep-all;
}


/* ---------------------------------------------------------
   오른쪽 화살표
--------------------------------------------------------- */

.archive25-read .archive25-link-arrow {
  width: 44px;
  height: 44px;

  justify-self: center;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  border:
    1px solid rgba(255,255,255,.14);

  color:
    rgba(255,255,255,.82);

  font-family:
    Georgia, serif;

  font-size: 18px;

  transition:
    transform .28s ease,
    background .28s ease;
}


.archive25-read
.archive25-link-card:hover
.archive25-link-arrow {
  transform:
    translate(3px, -3px);

  background:
    rgba(255,255,255,.08);
}


/* ---------------------------------------------------------
   하단 안내문
--------------------------------------------------------- */

.archive25-read .archive25-notice {
  margin:
    28px 2px 0;

  color:
    rgba(255,255,255,.78);

  font-size: 14px;

  font-weight: 500;

  line-height: 1.8;

  word-break: keep-all;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

  .archive25-read .archive25-link-card {
    min-height: 100px;

    padding:
      19px 16px;

    grid-template-columns:
      52px
      minmax(0, 1fr)
      42px;

    gap: 12px;

    border-radius: 15px;
  }


  .archive25-read .archive25-link-no {
    width: 42px;
    height: 42px;

    border-radius: 10px;

    font-size: 11px;
  }


  .archive25-read .archive25-link-text small {
    margin-bottom: 6px;

    font-size: 8px;

    letter-spacing: 1.5px;
  }


  .archive25-read .archive25-link-text strong {
    font-size: 19px;
  }


  .archive25-read .archive25-link-arrow {
    width: 36px;
    height: 36px;

    font-size: 16px;
  }


  .archive25-read .archive25-notice {
    margin-top: 22px;

    font-size: 13px;
  }

}

/* =========================================================
   2025 → 2026
   MONTHLY TO FOUR SEASONS
   최종 수정본
========================================================= */

.archive25-bridge {
  position: relative;
  overflow: hidden;

  padding: 105px 6vw 115px;

  background:
    radial-gradient(
      circle at 88% 15%,
      rgba(127,165,173,.10),
      transparent 25%
    ),
    radial-gradient(
      circle at 8% 90%,
      rgba(201,130,137,.08),
      transparent 24%
    ),
    #f2ede6;
}


/* 맨 위 4계절 연결선 */
.archive25-bridge::before {
  content: "";

  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 3px;

  background:
    linear-gradient(
      90deg,
      #c98289 0 25%,
      #7fa5ad 25% 50%,
      #bd9270 50% 75%,
      #9993aa 75% 100%
    );
}


/* =========================================================
   중요
   화면이 좌우 끝으로 퍼지지 않도록 폭 제한
========================================================= */

.archive25-bridge-top,
.archive25-bridge-bottom {
  width: min(100%, 1250px);

  margin-left: auto;
  margin-right: auto;
}


/* =========================================================
   상단
   MONTHLY → CONNECT → FOUR SEASONS
========================================================= */

.archive25-bridge-top {
  display: grid;

  grid-template-columns:
    1fr 50px
    1fr 50px
    1fr;

  gap: 20px;

  align-items: center;

  padding-bottom: 38px;
  margin-bottom: 85px;

  border-bottom:
    1px solid rgba(63,58,68,.14);
}


.archive25-bridge-step {
  min-width: 0;

  display: flex;
  flex-direction: column;
}


.archive25-bridge-step .step-no {
  margin-bottom: 18px;

  color: #9992a4;

  font-family: Georgia, serif;

  font-size: 10px;

  letter-spacing: 1px;
}


.archive25-bridge-step .step-label {
  margin-bottom: 10px;

  color: #76708e;

  font-family: Georgia, serif;

  font-size: 10px;
  font-weight: 600;

  letter-spacing: 2.2px;
}


.archive25-bridge-step strong {
  color: #393540;

  font-size: 16px;
  font-weight: 650;

  line-height: 1.55;

  word-break: keep-all;
}


.archive25-bridge-arrow {
  color:
    rgba(113,109,148,.38);

  font-family: Georgia, serif;

  font-size: 22px;

  text-align: center;

  transform: none;
}


/* 마지막 FOUR SEASONS만 살짝 강조 */
.archive25-bridge-step:last-child .step-label {
  color: #657651;
}


.archive25-bridge-step:last-child strong {
  color: #4f6044;
}


/* =========================================================
   하단
========================================================= */

.archive25-bridge-bottom {
  display: grid;

  grid-template-columns:
    minmax(0,1.25fr)
    minmax(330px,.75fr);

  gap: 95px;

  align-items: end;
}


/* =========================================================
   왼쪽
========================================================= */

.archive25-bridge-left {
  max-width: 720px;
}


.archive25-bridge-eyebrow {
  margin: 0 0 22px;

  color: #7b748d;

  font-family: Georgia, serif;

  font-size: 10px;
  font-weight: 600;

  letter-spacing: 2.8px;
}


.archive25-bridge-title {
  margin: 0 0 25px;

  color: #302b38;

  font-size:
    clamp(48px, 5vw, 66px);

  font-weight: 750;

  line-height: 1.08;

  letter-spacing: -3px;
}


/* =========================================================
   四季 부여청
   기존 큰 노란 박스 제거
========================================================= */

.archive25-season-highlight {
  position: relative;

  width: fit-content;

  margin: 0 0 35px;
  padding: 0 0 20px;

  display: flex;
  flex-direction: column;

  gap: 9px;

  background: none;

  border: 0;
  border-radius: 0;

  box-shadow: none;
}


/* 4계절 컬러라인 */
.archive25-season-highlight::after {
  content: "";

  position: absolute;

  left: 0;
  bottom: 0;

  width: 210px;
  height: 4px;

  background:
    linear-gradient(
      90deg,
      #c98289 0 25%,
      #7fa5ad 25% 50%,
      #bd9270 50% 75%,
      #9993aa 75% 100%
    );
}


.archive25-season-kor {
  color: #5e704f;

  font-family:
    Georgia,
    "Noto Serif KR",
    serif;

  font-size:
    clamp(50px, 5.5vw, 76px);

  font-weight: 600;

  line-height: 1;

  letter-spacing: -3px;
}


.archive25-season-sub {
  color: #86808c;

  font-family: Georgia, serif;

  font-size: 10px;

  letter-spacing: 2.8px;

  text-transform: uppercase;
}


/* 설명 */
.archive25-bridge-desc {
  max-width: 680px;

  margin: 0;

  color: #625d66;

  font-size: 16px;

  line-height: 1.9;

  word-break: keep-all;
}


/* =========================================================
   오른쪽 NEXT 카드
========================================================= */

.archive25-bridge-right {
  display: flex;

  justify-content: flex-end;
}


.archive25-preview-card {
  position: relative;

  width: 100%;
  max-width: 380px;

  padding: 32px;

  background:
    rgba(255,255,255,.43);

  border:
    1px solid rgba(79,96,68,.14);

  border-radius: 20px;

  box-shadow:
    0 18px 40px rgba(57,51,45,.07);
}


/* 우측 카드 윗부분 포인트 */
.archive25-preview-card::before {
  content: "";

  position: absolute;

  top: 0;
  left: 30px;

  width: 65px;
  height: 3px;

  background: #657651;
}


.archive25-preview-card .preview-label {
  margin: 0 0 16px;

  color: #847d91;

  font-family: Georgia, serif;

  font-size: 9px;

  letter-spacing: 2.5px;
}


.archive25-preview-card h3 {
  margin: 0 0 28px;

  color: #35303b;

  font-size: 30px;

  font-weight: 750;

  letter-spacing: -1px;
}


/* 계절 */
.preview-season-list {
  list-style: none;

  margin: 0 0 28px;
  padding: 0;

  display: grid;

  grid-template-columns:
    repeat(2,1fr);

  gap: 9px;
}


.preview-season-list li {
  padding: 12px 5px;

  background:
    rgba(95,111,75,.045);

  border:
    1px solid rgba(95,111,75,.12);

  border-radius: 9px;

  color: #657651;

  font-family: Georgia, serif;

  font-size: 10px;
  font-weight: 600;

  letter-spacing: 1.3px;

  text-align: center;
}


/* 각각 계절색 아주 살짝 */
.preview-season-list li:nth-child(1) {
  border-top:
    2px solid #c98289;
}

.preview-season-list li:nth-child(2) {
  border-top:
    2px solid #7fa5ad;
}

.preview-season-list li:nth-child(3) {
  border-top:
    2px solid #bd9270;
}

.preview-season-list li:nth-child(4) {
  border-top:
    2px solid #9993aa;
}


/* CTA */
.archive25-bridge-btn {
  width: 100%;

  padding: 17px 18px;

  display: flex;

  align-items: center;
  justify-content: space-between;

  border-radius: 10px;

  background: #627552;

  color: #fff;

  text-decoration: none;

  font-size: 14px;
  font-weight: 650;

  transition:
    transform .25s ease,
    background .25s ease,
    box-shadow .25s ease;
}


.archive25-bridge-btn:hover {
  transform:
    translateY(-3px);

  background: #566848;

  box-shadow:
    0 12px 25px
    rgba(76,92,63,.18);
}


.archive25-bridge-btn .btn-arrow {
  font-family: Georgia, serif;

  font-size: 20px;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 950px) {

  .archive25-bridge {
    padding:
      85px 7vw
      95px;
  }


  .archive25-bridge-top {
    grid-template-columns: 1fr;

    gap: 22px;

    margin-bottom: 65px;
  }


  .archive25-bridge-arrow {
    width: fit-content;

    transform:
      rotate(90deg);
  }


  .archive25-bridge-bottom {
    grid-template-columns: 1fr;

    gap: 60px;

    align-items: start;
  }


  .archive25-preview-card {
    max-width: 430px;
  }


  .archive25-bridge-right {
    justify-content: flex-start;
  }

}

/* =========================================================
   2025 → 四季 부여청
   NEXT ARCHIVE CARD
   퍼플 에디토리얼 버전
========================================================= */

.archive25-preview-card {
  position: relative;

  width: 100%;
  max-width: 390px;

  padding: 32px 30px 28px;

  overflow: hidden;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.54),
      rgba(244,240,246,.46)
    );

  border:
    1px solid rgba(113,109,148,.16);

  /* 기존 둥근 UI 느낌 줄이기 */
  border-radius: 6px;

  box-shadow:
    0 18px 42px rgba(65,58,82,.07);
}


/* 기존 녹색 상단 포인트 제거 */
.archive25-preview-card::before {
  display: none;
}


/* 배경의 큰 2026 */
.archive25-preview-card::after {
  content: "2026";

  position: absolute;

  right: -15px;
  top: 4px;

  color:
    rgba(113,109,148,.045);

  font-family: Georgia, serif;

  font-size: 105px;

  line-height: 1;

  pointer-events: none;
}


/* =========================================================
   상단
========================================================= */

.archive25-preview-head {
  position: relative;
  z-index: 2;

  padding-bottom: 28px;
  margin-bottom: 4px;

  display: flex;

  align-items: flex-start;
  justify-content: space-between;

  gap: 20px;

  border-bottom:
    1px solid rgba(113,109,148,.17);
}


.archive25-preview-card .preview-label {
  margin: 0 0 11px;

  color: #847e9c;

  font-family: Georgia, serif;

  font-size: 9px;
  font-weight: 600;

  letter-spacing: 2.6px;
}


.archive25-preview-card h3 {
  margin: 0;

  color: #393445;

  font-size: 32px;
  font-weight: 750;

  line-height: 1.1;

  letter-spacing: -1.5px;
}


.archive25-preview-year {
  position: relative;
  z-index: 2;

  color: #797397;

  font-family: Georgia, serif;

  font-size: 13px;

  letter-spacing: 1.5px;
}


/* =========================================================
   계절별 이동
========================================================= */

.archive25-season-nav {
  position: relative;
  z-index: 2;

  display: flex;
  flex-direction: column;
}


.archive25-season-nav button {
  width: 100%;

  min-height: 76px;

  padding: 14px 4px;

  display: grid;

  grid-template-columns:
    35px
    1fr
    28px;

  gap: 15px;

  align-items: center;

  border: 0;
  border-bottom:
    1px solid rgba(113,109,148,.13);

  border-radius: 0;

  background:
    transparent;

  color: #46404d;

  font-family: inherit;

  text-align: left;

  cursor: pointer;

  transition:
    padding-left .28s ease,
    background .28s ease;
}


/* hover */
.archive25-season-nav button:hover {
  padding-left: 12px;

  background:
    rgba(113,109,148,.055);
}


/* 01~04 */
.archive25-season-nav .season-index {
  color:
    rgba(113,109,148,.65);

  font-family: Georgia, serif;

  font-size: 10px;
}


/* 영문 */
.archive25-season-nav small {
  display: block;

  margin-bottom: 4px;

  color: #77718e;

  font-family: Georgia, serif;

  font-size: 9px;
  font-weight: 600;

  letter-spacing: 1.8px;
}


/* 한글 */
.archive25-season-nav strong {
  display: block;

  color: #3e3945;

  font-size: 16px;
  font-weight: 650;
}


/* 화살표 */
.archive25-season-nav .season-arrow {
  color:
    rgba(113,109,148,.62);

  font-family: Georgia, serif;

  font-size: 18px;

  transition:
    transform .28s ease;
}


.archive25-season-nav button:hover
.season-arrow {
  transform:
    translateX(5px);
}


/* =========================================================
   계절별 아주 작은 색 포인트
   녹색 대신 2025 퍼플을 기본으로,
   사계 색은 작은 선으로만
========================================================= */

.archive25-season-nav button:nth-child(1) {
  box-shadow:
    inset 3px 0 0 rgba(201,130,137,.55);
}


.archive25-season-nav button:nth-child(2) {
  box-shadow:
    inset 3px 0 0 rgba(127,165,173,.58);
}


.archive25-season-nav button:nth-child(3) {
  box-shadow:
    inset 3px 0 0 rgba(189,146,112,.58);
}


.archive25-season-nav button:nth-child(4) {
  box-shadow:
    inset 3px 0 0 rgba(153,147,170,.65);
}


/* =========================================================
   전체 보기
========================================================= */

.archive25-all-seasons {
  position: relative;
  z-index: 2;

  width: 100%;

  margin-top: 27px;

  padding: 17px 4px 15px;

  display: flex;

  align-items: center;
  justify-content: space-between;

  border: 0;

  border-top:
    1px solid rgba(113,109,148,.34);

  border-bottom:
    1px solid rgba(113,109,148,.34);

  border-radius: 0;

  background: transparent;

  color: #625c80;

  font-family: inherit;

  font-size: 14px;
  font-weight: 700;

  cursor: pointer;

  transition:
    padding-left .28s ease,
    color .28s ease;
}


.archive25-all-seasons:hover {
  padding-left: 10px;

  color: #494463;
}


/* =========================================================
   모바일
========================================================= */

@media (max-width: 600px) {

  .archive25-preview-card {
    padding:
      27px 22px 24px;

    max-width: 100%;
  }


  .archive25-preview-card::after {
    font-size: 82px;
  }


  .archive25-preview-card h3 {
    font-size: 28px;
  }


  .archive25-season-nav button {
    min-height: 70px;
  }

}

/* =========================================================
   2025 → 2026 四季 부여청
   FINAL TONE
   퍼플 중심 / 차분한 에디토리얼 디자인
========================================================= */


/* ---------------------------------------------------------
   왼쪽 四季 부여청
   녹색 완전 제거
--------------------------------------------------------- */

.archive25-season-kor {
  color: #625d7f !important;

  font-family:
    Georgia,
    "Noto Serif KR",
    serif;

  font-size:
    clamp(50px, 5.3vw, 72px);

  font-weight: 600;

  line-height: 1;

  letter-spacing: -3px;
}


.archive25-season-sub {
  color: #8b8498 !important;

  font-size: 10px;

  letter-spacing: 2.8px;
}


/* 밑의 사계 컬러선도 조금 더 차분하게 */
.archive25-season-highlight::after {
  width: 220px;
  height: 3px;

  background:
    linear-gradient(
      90deg,
      #b9858d 0 25%,
      #829da3 25% 50%,
      #af9077 50% 75%,
      #8e899e 75% 100%
    );
}


/* FOUR SEASONS 단계도 녹색 제거 */
.archive25-bridge-step:last-child .step-label {
  color: #756f91 !important;
}

.archive25-bridge-step:last-child strong {
  color: #403b4b !important;
}


/* 설명글 */
.archive25-bridge-desc {
  color: #625d68;

  font-size: 16px;

  line-height: 1.9;
}


/* =========================================================
   오른쪽 NEXT ARCHIVE
   세로로 길었던 카드 → 낮고 넓은 목차형 카드
========================================================= */

.archive25-preview-card {
  position: relative;

  width: 100%;
  max-width: 470px;

  padding: 30px 32px 28px;

  overflow: hidden;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.52),
      rgba(239,236,243,.42)
    );

  border:
    1px solid rgba(105,98,132,.15);

  border-radius: 4px;

  box-shadow:
    0 18px 42px rgba(60,54,75,.065);
}


/* 기존 위쪽 녹색선 제거 */
.archive25-preview-card::before {
  display: none !important;
}


/* 배경 2026 더 은은하게 */
.archive25-preview-card::after {
  content: "2026";

  position: absolute;

  right: -8px;
  top: -5px;

  color:
    rgba(105,98,132,.035);

  font-family: Georgia, serif;

  font-size: 95px;

  line-height: 1;

  pointer-events: none;
}


/* =========================================================
   카드 제목
========================================================= */

.archive25-preview-head {
  position: relative;
  z-index: 2;

  margin-bottom: 0;
  padding-bottom: 22px;

  display: flex;

  align-items: flex-start;
  justify-content: space-between;

  border-bottom:
    1px solid rgba(105,98,132,.16);
}


.archive25-preview-card .preview-label {
  margin: 0 0 9px;

  color: #827b96;

  font-family: Georgia, serif;

  font-size: 9px;
  font-weight: 600;

  letter-spacing: 2.6px;
}


.archive25-preview-card h3 {
  margin: 0;

  color: #3d3848;

  font-size: 28px;
  font-weight: 700;

  line-height: 1.1;

  letter-spacing: -1.3px;
}


.archive25-preview-year {
  color: #77718e;

  font-family: Georgia, serif;

  font-size: 11px;

  letter-spacing: 1.5px;
}


/* =========================================================
   계절 메뉴
   세로 4줄 → 2 × 2 편집 그리드
========================================================= */

.archive25-season-nav {
  position: relative;
  z-index: 2;

  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  margin-top: 0;
}


/* 각 계절 */
.archive25-season-nav button {
  position: relative;

  width: 100%;
  min-height: 92px;

  padding: 18px 17px;

  display: grid;

  grid-template-columns:
    28px 1fr 18px;

  gap: 10px;

  align-items: center;

  border: 0;
  border-radius: 0;

  background: transparent;

  color: #45404c;

  text-align: left;

  font-family: inherit;

  cursor: pointer;

  box-shadow: none !important;

  transition:
    background .25s ease;
}


/* 가운데 세로선 */
.archive25-season-nav button:nth-child(odd) {
  border-right:
    1px solid rgba(105,98,132,.13);
}


/* 위/아래 구분선 */
.archive25-season-nav button:nth-child(1),
.archive25-season-nav button:nth-child(2) {
  border-bottom:
    1px solid rgba(105,98,132,.13);
}


/* hover도 과하지 않게 */
.archive25-season-nav button:hover {
  padding-left: 17px;

  background:
    rgba(105,98,132,.045);
}


/* 01 ~ 04 */
.archive25-season-nav .season-index {
  color: #9a94a7;

  font-family: Georgia, serif;

  font-size: 9px;
}


/* SPRING 등 */
.archive25-season-nav small {
  display: block;

  margin: 0 0 5px;

  color: #77718e;

  font-family: Georgia, serif;

  font-size: 8px;
  font-weight: 600;

  letter-spacing: 1.7px;
}


/* 봄/여름/가을/겨울 */
.archive25-season-nav strong {
  display: block;

  color: #433e49;

  font-size: 15px;
  font-weight: 650;
}


/* 화살표 */
.archive25-season-nav .season-arrow {
  color:
    rgba(105,98,132,.52);

  font-family: Georgia, serif;

  font-size: 15px;

  transition:
    transform .25s ease;
}


.archive25-season-nav button:hover
.season-arrow {
  transform: translateX(4px);
}


/* =========================================================
   계절색은 아주 작은 선만
========================================================= */

.archive25-season-nav button::before {
  content: "";

  position: absolute;

  top: 0;
  left: 0;

  width: 34px;
  height: 2px;
}


.archive25-season-nav button:nth-child(1)::before {
  background: #b9858d;
}

.archive25-season-nav button:nth-child(2)::before {
  background: #829da3;
}

.archive25-season-nav button:nth-child(3)::before {
  background: #af9077;
}

.archive25-season-nav button:nth-child(4)::before {
  background: #8e899e;
}


/* =========================================================
   사계 부여청 전체보기
   녹색 버튼 제거 → 차분한 텍스트 링크
========================================================= */

.archive25-all-seasons {
  position: relative;
  z-index: 2;

  width: 100%;

  margin-top: 20px;

  padding:
    17px 2px 15px;

  display: flex;

  justify-content: space-between;
  align-items: center;

  border: 0;

  border-top:
    1px solid rgba(105,98,132,.25);

  border-bottom:
    1px solid rgba(105,98,132,.25);

  border-radius: 0;

  background:
    transparent !important;

  color: #625c80 !important;

  font-size: 13px;
  font-weight: 650;

  cursor: pointer;

  box-shadow: none !important;

  transition:
    padding-left .25s ease,
    color .25s ease,
    background .25s ease;
}


.archive25-all-seasons:hover {
  padding-left: 8px;

  color: #45405d !important;

  background:
    rgba(105,98,132,.035) !important;
}


/* =========================================================
   전체 우측 영역도 조금 넓게
========================================================= */

.archive25-bridge-bottom {
  grid-template-columns:
    minmax(0, 1.15fr)
    minmax(390px, .85fr);

  gap: 85px;
}


.archive25-bridge-right {
  justify-content: flex-end;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 950px) {

  .archive25-bridge-bottom {
    grid-template-columns: 1fr;

    gap: 55px;
  }


  .archive25-preview-card {
    max-width: 520px;
  }


  .archive25-bridge-right {
    justify-content: flex-start;
  }

}


@media (max-width: 520px) {

  .archive25-preview-card {
    padding:
      26px 21px 23px;
  }


  .archive25-season-nav {
    grid-template-columns: 1fr;
  }


  .archive25-season-nav button {
    min-height: 72px;
  }


  .archive25-season-nav button:nth-child(odd) {
    border-right: 0;
  }


  .archive25-season-nav button {
    border-bottom:
      1px solid rgba(105,98,132,.13);
  }

}

/* =========================================================
   2025 → 사계 부여청
   메인 전체보기 CTA
========================================================= */


/* 상단 NEXT ARCHIVE 영역
   큰 제목을 없앴으므로 더 컴팩트하게 */
.archive25-preview-head {
  position: relative;
  z-index: 2;

  margin: 0;
  padding: 0 0 18px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  border-bottom:
    1px solid rgba(105,98,132,.16);
}


.archive25-preview-card .preview-label {
  margin: 0;

  color: #77718e;

  font-family: Georgia, serif;

  font-size: 9px;
  font-weight: 600;

  letter-spacing: 2.6px;
}


.archive25-preview-year {
  color: #77718e;

  font-family: Georgia, serif;

  font-size: 11px;

  letter-spacing: 1.5px;
}



/* =========================================================
   MAIN CTA
========================================================= */

.archive25-all-seasons {
  position: relative;
  z-index: 3;

  width: 100%;

  margin-top: 26px;

  padding:
    23px 23px;

  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 30px;

  text-align: left;

  /* 기존 선형 버튼 제거 */
  border: 1px solid rgba(91,84,119,.20) !important;

  border-radius: 4px;

  /*
    2025 페이지의 더스티 퍼플.
    녹색 사용하지 않음.
  */
  background:
    linear-gradient(
      135deg,
      #716b8e 0%,
      #625d7e 100%
    ) !important;

  color: #fff !important;

  cursor: pointer;

  box-shadow:
    0 13px 27px rgba(61,55,82,.13);

  transition:
    transform .28s ease,
    box-shadow .28s ease,
    background .28s ease;
}


/* 기존 hover 초기화 + 새 hover */
.archive25-all-seasons:hover {
  padding-left: 23px;

  transform:
    translateY(-4px);

  color: #fff !important;

  background:
    linear-gradient(
      135deg,
      #686281 0%,
      #57526f 100%
    ) !important;

  box-shadow:
    0 20px 36px rgba(61,55,82,.20);
}


/* 글 영역 */
.archive25-all-seasons-text {
  display: flex;
  flex-direction: column;

  gap: 8px;
}


/* 작은 영문 */
.archive25-all-seasons-text small {
  display: block;

  color:
    rgba(255,255,255,.60);

  font-family:
    Georgia, serif;

  font-size: 8px;
  font-weight: 600;

  line-height: 1;

  letter-spacing: 2px;
}


/* 메인 한글 */
.archive25-all-seasons-text strong {
  display: block;

  color: #fff;

  font-size: 18px;
  font-weight: 700;

  line-height: 1.3;

  letter-spacing: -.3px;
}


/* 오른쪽 화살표 */
.archive25-all-seasons-arrow {
  width: 38px;
  height: 38px;

  flex: 0 0 38px;

  display: flex;
  align-items: center;
  justify-content: center;

  border:
    1px solid rgba(255,255,255,.20);

  border-radius: 50%;

  color:
    rgba(255,255,255,.88);

  font-family: Georgia, serif;

  font-size: 18px;

  transition:
    transform .28s ease,
    background .28s ease;
}


.archive25-all-seasons:hover
.archive25-all-seasons-arrow {
  transform:
    translateX(4px);

  background:
    rgba(255,255,255,.08);
}



/* 모바일 */
@media (max-width: 520px) {

  .archive25-all-seasons {
    padding:
      20px 18px;

    gap: 18px;
  }


  .archive25-all-seasons-text strong {
    font-size: 16px;
  }


  .archive25-all-seasons-text small {
    font-size: 7px;

    letter-spacing: 1.5px;
  }


  .archive25-all-seasons-arrow {
    width: 34px;
    height: 34px;

    flex-basis: 34px;

    font-size: 16px;
  }

}

/* =========================================================
   2025 전체 기록 보기
   오른쪽 3개 링크 박스만 디자인 수정
========================================================= */


/* 3개 박스 사이 간격 */
.archive25-read .archive25-read-links {
  display: flex;
  flex-direction: column;
  gap: 16px;

  border-top: none !important;
}


/* =========================================================
   박스
========================================================= */

.archive25-read .archive25-link-card {
  position: relative;

  width: 100%;
  min-height: 108px;

  padding: 22px 25px;

  display: grid;

  grid-template-columns:
    54px
    minmax(0, 1fr)
    38px;

  gap: 22px;

  align-items: center;

  text-decoration: none;

  color: #fff;

  /* 기존보다 훨씬 연하고 가볍게 */
  background:
    rgba(255,255,255,.035);

  border:
    1px solid rgba(255,255,255,.13);

  /* 둥근 느낌도 조금 줄임 */
  border-radius: 14px;

  box-shadow: none;

  transition:
    background .25s ease,
    border-color .25s ease,
    transform .25s ease;
}


/* 마우스 */
.archive25-read .archive25-link-card:hover {
  transform: translateY(-3px);

  background:
    rgba(255,255,255,.07);

  border-color:
    rgba(255,255,255,.23);

  box-shadow: none;
}


/* =========================================================
   01 / 02 / 03
========================================================= */

.archive25-read .archive25-link-no {
  width: auto;
  height: auto;

  display: block;

  justify-self: start;

  /* 기존 박스 형태 제거 */
  background: none;

  border: 0;

  border-radius: 0;

  color:
    rgba(255,255,255,.48);

  font-family:
    Georgia, serif;

  font-size: 11px;
  font-weight: 600;

  letter-spacing: 1px;
}


/* =========================================================
   가운데 글자
========================================================= */

.archive25-read .archive25-link-text {
  display: flex;
  flex-direction: column;

  align-items: flex-start;

  text-align: left;

  gap: 8px;
}


/* ONLINE FLIPBOOK */
.archive25-read .archive25-link-text small {
  margin: 0;

  color:
    rgba(255,255,255,.50);

  font-family:
    Georgia, serif;

  font-size: 9px;
  font-weight: 600;

  letter-spacing: 2.2px;
}


/* 전자책으로 보기 */
.archive25-read .archive25-link-text strong {
  color: #faf7f2;

  font-size: 20px;
  font-weight: 650;

  line-height: 1.3;

  letter-spacing: -.4px;
}


/* =========================================================
   화살표
========================================================= */

.archive25-read .archive25-link-arrow {
  width: auto;
  height: auto;

  display: block;

  justify-self: end;

  /* 기존 동그라미 제거 */
  border: 0;

  border-radius: 0;

  background: none;

  color:
    rgba(255,255,255,.62);

  font-family:
    Georgia, serif;

  font-size: 18px;

  transition:
    transform .25s ease,
    color .25s ease;
}


.archive25-read
.archive25-link-card:hover
.archive25-link-arrow {
  transform:
    translate(4px, -2px);

  background: none;

  color:
    rgba(255,255,255,.92);
}


/* =========================================================
   하단 안내문
========================================================= */

.archive25-read .archive25-notice {
  margin:
    28px 0 0;

  color:
    rgba(255,255,255,.76);

  font-size: 14px;

  font-weight: 500;

  line-height: 1.8;
}


/* =========================================================
   모바일
========================================================= */

@media (max-width: 650px) {

  .archive25-read .archive25-link-card {
    min-height: 92px;

    padding:
      18px;

    grid-template-columns:
      36px
      minmax(0,1fr)
      25px;

    gap: 12px;

    border-radius: 12px;
  }


  .archive25-read .archive25-link-text strong {
    font-size: 18px;
  }


  .archive25-read .archive25-notice {
    font-size: 13px;
  }

}

/* =========================================================
   2025 전체 기록 보기
   오른쪽 3개 링크 박스만 디자인 수정
========================================================= */


/* 3개 박스 사이 간격 */
.archive25-read .archive25-read-links {
  display: flex;
  flex-direction: column;
  gap: 16px;

  border-top: none !important;
}


/* =========================================================
   박스
========================================================= */

.archive25-read .archive25-link-card {
  position: relative;

  width: 100%;
  min-height: 108px;

  padding: 22px 25px;

  display: grid;

  grid-template-columns:
    54px
    minmax(0, 1fr)
    38px;

  gap: 22px;

  align-items: center;

  text-decoration: none;

  color: #fff;

  /* 기존보다 훨씬 연하고 가볍게 */
  background:
    rgba(255,255,255,.035);

  border:
    1px solid rgba(255,255,255,.13);

  /* 둥근 느낌도 조금 줄임 */
  border-radius: 14px;

  box-shadow: none;

  transition:
    background .25s ease,
    border-color .25s ease,
    transform .25s ease;
}


/* 마우스 */
.archive25-read .archive25-link-card:hover {
  transform: translateY(-3px);

  background:
    rgba(255,255,255,.07);

  border-color:
    rgba(255,255,255,.23);

  box-shadow: none;
}


/* =========================================================
   01 / 02 / 03
========================================================= */

.archive25-read .archive25-link-no {
  width: auto;
  height: auto;

  display: block;

  justify-self: start;

  /* 기존 박스 형태 제거 */
  background: none;

  border: 0;

  border-radius: 0;

  color:
    rgba(255,255,255,.48);

  font-family:
    Georgia, serif;

  font-size: 11px;
  font-weight: 600;

  letter-spacing: 1px;
}


/* =========================================================
   가운데 글자
========================================================= */

.archive25-read .archive25-link-text {
  display: flex;
  flex-direction: column;

  align-items: flex-start;

  text-align: left;

  gap: 8px;
}


/* ONLINE FLIPBOOK */
.archive25-read .archive25-link-text small {
  margin: 0;

  color:
    rgba(255,255,255,.50);

  font-family:
    Georgia, serif;

  font-size: 9px;
  font-weight: 600;

  letter-spacing: 2.2px;
}


/* 전자책으로 보기 */
.archive25-read .archive25-link-text strong {
  color: #faf7f2;

  font-size: 20px;
  font-weight: 650;

  line-height: 1.3;

  letter-spacing: -.4px;
}


/* =========================================================
   화살표
========================================================= */

.archive25-read .archive25-link-arrow {
  width: auto;
  height: auto;

  display: block;

  justify-self: end;

  /* 기존 동그라미 제거 */
  border: 0;

  border-radius: 0;

  background: none;

  color:
    rgba(255,255,255,.62);

  font-family:
    Georgia, serif;

  font-size: 18px;

  transition:
    transform .25s ease,
    color .25s ease;
}


.archive25-read
.archive25-link-card:hover
.archive25-link-arrow {
  transform:
    translate(4px, -2px);

  background: none;

  color:
    rgba(255,255,255,.92);
}


/* =========================================================
   하단 안내문
========================================================= */

.archive25-read .archive25-notice {
  margin:
    28px 0 0;

  color:
    rgba(255,255,255,.76);

  font-size: 14px;

  font-weight: 500;

  line-height: 1.8;
}


/* =========================================================
   모바일
========================================================= */

@media (max-width: 650px) {

  .archive25-read .archive25-link-card {
    min-height: 92px;

    padding:
      18px;

    grid-template-columns:
      36px
      minmax(0,1fr)
      25px;

    gap: 12px;

    border-radius: 12px;
  }


  .archive25-read .archive25-link-text strong {
    font-size: 18px;
  }


  .archive25-read .archive25-notice {
    font-size: 13px;
  }

}

/* =========================================================
   ACTIVITY 06
   모두모두 축하파티 - 활동 소개
========================================================= */

.activity06-overview {
  max-width: 1200px;

  margin: 0 auto;

  padding-top: 85px;
  padding-bottom: 85px;

  display: grid;

  grid-template-columns:
    230px
    minmax(0, 1fr);

  gap: 75px;

  align-items: start;

  border-top:
    1px solid rgba(73,100,56,.15);

  border-bottom:
    1px solid rgba(73,100,56,.15);
}


/* 왼쪽 */
.activity06-overview-label {
  padding-top: 4px;
}


.activity06-overview-label span {
  display: block;

  margin-bottom: 14px;

  color: #9b8467;

  font-family: Georgia, serif;

  font-size: 10px;
  font-weight: 600;

  letter-spacing: 2.5px;
}


.activity06-overview-label strong {
  display: block;

  color: #272727;

  font-size: 28px;
  font-weight: 700;

  line-height: 1.3;

  letter-spacing: -1px;
}


/* 오른쪽 본문 */
.activity06-overview-text {
  max-width: 750px;
}


.activity06-overview-text p {
  margin: 0 0 23px;

  color: #4c4a46;

  font-size: 17px;

  line-height: 2;

  word-break: keep-all;
}


.activity06-overview-text p:last-child {
  margin-bottom: 0;
}


/* 첫 문단만 살짝 강조 */
.activity06-overview-text p:first-child {
  color: #34322f;

  font-size: 19px;
  font-weight: 600;

  line-height: 1.9;
}


/* 모바일 */
@media (max-width: 768px) {

  .activity06-overview {
    padding-top: 60px;
    padding-bottom: 60px;

    grid-template-columns: 1fr;

    gap: 30px;
  }


  .activity06-overview-label strong {
    font-size: 24px;
  }


  .activity06-overview-text p {
    font-size: 15px;
  }


  .activity06-overview-text p:first-child {
    font-size: 17px;
  }

}

/* 공간 개선 결과 캡션 */
.space-improvement-caption {
  width: fit-content;

  margin:
    26px 0 0 auto;

  padding:
    13px 22px;

  color: #5f5548;

  background: #eee7dc;

  border:
    1px solid rgba(120, 102, 82, .32);

  font-size: 18px;
  font-weight: 650;

  line-height: 1.3;

  letter-spacing: -.3px;

  box-shadow:
    0 6px 15px rgba(80, 65, 50, .05);
}

/* =========================================================
   2025 OUTRO 제목 크기 위계 조정
========================================================= */

/* 2025년의 기록은 여기서 마무리되지만, */
.archive25-outro .archive25-editorial-copy h2 {
  font-size: clamp(36px, 4vw, 54px);
  line-height: 1.14;
  letter-spacing: -2.5px;
}


/* 이야기는 계속됩니다. */
.archive25-outro .archive25-editorial-copy h2 span {
  display: block;

  margin-top: 8px;

  font-size: clamp(48px, 5.5vw, 72px);
  line-height: 1.08;

  letter-spacing: -3px;

  color: #716d94;
}

/* =========================================================
   2025 INTRO 제목 크기 위계 조정
========================================================= */

/* 우리는 기획했고, 모였고, 걸었으며, */
.archive25-intro .archive25-editorial-copy h2 {
  font-size: clamp(36px, 4vw, 54px);
  line-height: 1.14;
  letter-spacing: -2.5px;
}


/* 함께 연결되었습니다. */
.archive25-intro .archive25-editorial-copy h2 span {
  display: block;

  margin-top: 8px;

  font-size: clamp(48px, 5.5vw, 72px);
  line-height: 1.08;

  letter-spacing: -3px;

  color: #b87980;
}

/* =========================================================
   TEAM COVER
   책자 넘버링 안내 - 최종 위치
========================================================= */

.team-number-note {
  position: absolute;

  /* 오른쪽 팀명 박스와 반대편으로 이동 */
  left: 8vw;
  right: auto;

  bottom: 42px;

  width: 330px;
  max-width: 38vw;

  padding: 14px 0 0;

  /* 박스형 배경 제거 */
  background: transparent;

  border: 0;

  /* 위쪽 얇은 선만 */
  border-top:
    1px solid rgba(255,255,255,.28);

  z-index: 5;
}


/* NUMBERING NOTE */
.team-number-note span {
  display: block;

  margin-bottom: 8px;

  color:
    rgba(255,255,255,.62);

  font-family: Georgia, serif;

  font-size: 8px;
  font-weight: 600;

  letter-spacing: 2.1px;
}


/* 설명 */
.team-number-note p {
  margin: 0;

  color:
    rgba(255,255,255,.88);

  font-size: 11px;
  font-weight: 500;

  line-height: 1.7;

  word-break: keep-all;
}


/* =========================================================
   중간 화면
   공간이 좁아지면 아래가 아니라 제목 밑으로
========================================================= */

@media (max-width: 1100px) {

  .team-number-note {
    position: relative;

    left: auto;
    right: auto;
    bottom: auto;

    width: 320px;
    max-width: 100%;

    margin-top: 34px;

    padding-top: 13px;
  }

}


/* 모바일 */
@media (max-width: 650px) {

  .team-number-note {
    width: 100%;

    margin-top: 28px;
  }

  .team-number-note p {
    font-size: 10px;
  }

}

/* =========================================================
   TEAM COVER
   NUMBERING NOTE 최종 디자인
   - 왼쪽 하단
   - 반투명 박스
========================================================= */

.team-number-note {
  position: absolute !important;

  /* 왼쪽 배치 */
  left: 6vw !important;
  right: auto !important;

  /* 커버 안쪽 하단 */
  bottom: 38px !important;

  width: 320px;
  max-width: 34vw;

  padding: 16px 19px 17px;

  /* 글자가 확실히 보이도록 */
  background:
    rgba(55, 49, 43, .20);

  border:
    1px solid rgba(255,255,255,.20);

  /* 왼쪽 포인트 */
  border-left:
    3px solid rgba(255,255,255,.70);

  box-shadow:
    0 10px 24px rgba(40,35,30,.07);

  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);

  z-index: 10 !important;
}


/* NUMBERING NOTE */
.team-number-note span {
  display: block;

  margin: 0 0 9px;

  color:
    rgba(255,255,255,.72) !important;

  font-family:
    Georgia, serif;

  font-size: 8px;
  font-weight: 600;

  line-height: 1;

  letter-spacing: 2.2px;
}


/* 설명 문구 */
.team-number-note p {
  margin: 0;

  color:
    rgba(255,255,255,.96) !important;

  font-size: 11px;
  font-weight: 500;

  line-height: 1.75;

  word-break: keep-all;
}


/* =========================================================
   태블릿
========================================================= */

@media (max-width: 1000px) {

  .team-number-note {
    left: 7vw !important;
    right: auto !important;

    bottom: 32px !important;

    width: 300px;
    max-width: 45vw;
  }

}


/* =========================================================
   모바일
========================================================= */

@media (max-width: 650px) {

  .team-number-note {
    position: relative !important;

    left: auto !important;
    right: auto !important;
    bottom: auto !important;

    width: 100%;
    max-width: 320px;

    margin-top: 32px;

    padding:
      14px 16px 15px;
  }

}

/* =========================================================
   TEAM NUMBERING NOTE
   최종 - 화면 왼쪽 사이드에 완전히 분리
========================================================= */

/* note가 들어있는 팀 메인 영역을 기준점으로 */
#women .sub-cover,
#youth .sub-cover,
#wifi .sub-cover,
#cafe .sub-cover {
  position: relative;
}


/* =========================================================
   NUMBERING NOTE
========================================================= */

.team-number-note {
  position: absolute !important;

  /* 제목 영역에서 아예 왼쪽으로 분리 */
  left: 28px !important;
  right: auto !important;

  /* 위/아래 고정값 사용하지 않음 */
  top: 50% !important;
  bottom: auto !important;

  transform: translateY(-50%);

  /* 기존 320px → 작게 */
  width: 245px !important;
  max-width: none !important;

  margin: 0 !important;

  padding:
    17px 18px 18px !important;

  background:
    rgba(86, 78, 69, .24) !important;

  border:
    1px solid rgba(255,255,255,.22) !important;

  border-left:
    3px solid rgba(255,255,255,.72) !important;

  box-shadow:
    0 9px 22px rgba(40,35,30,.06) !important;

  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);

  z-index: 20 !important;
}


/* NUMBERING NOTE */
.team-number-note span {
  display: block;

  margin: 0 0 10px;

  color:
    rgba(255,255,255,.72) !important;

  font-family:
    Georgia, serif;

  font-size: 8px;
  font-weight: 600;

  line-height: 1;

  letter-spacing: 2.2px;
}


/* 설명 */
.team-number-note p {
  margin: 0 !important;

  color:
    rgba(255,255,255,.96) !important;

  font-size: 10px !important;
  font-weight: 500;

  line-height: 1.75;

  word-break: keep-all;
}


/* =========================================================
   화면이 좁아지면 사이드 배치를 해제
========================================================= */

@media (max-width: 1150px) {

  .team-number-note {
    position: relative !important;

    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;

    transform: none !important;

    width: 260px !important;
    max-width: 100% !important;

    margin-top: 32px !important;
  }

}

/* =========================================================
   TEAM ACTIVITY NUMBER GUIDE
   사업 카드 위 책자 번호 안내
========================================================= */

.team-number-guide {
  width: 100%;

  margin:
    0 0 38px;

  padding:
    21px 25px;

  display: grid;

  grid-template-columns:
    180px
    minmax(0, 1fr);

  gap: 35px;

  align-items: center;

  background:
    #e9e4da;

  border:
    1px solid rgba(73,100,56,.10);

  border-left:
    3px solid #9b876e;

  box-shadow:
    0 6px 16px rgba(60,55,45,.035);
}


/* 왼쪽 */
.team-number-guide-title {
  display: flex;

  flex-direction: column;

  gap: 7px;
}


.team-number-guide-title span {
  color: #99856d;

  font-family:
    Georgia, serif;

  font-size: 8px;
  font-weight: 600;

  letter-spacing: 2.2px;
}


.team-number-guide-title strong {
  color: #38342f;

  font-size: 14px;
  font-weight: 700;
}


/* 오른쪽 설명 */
.team-number-guide > p {
  margin: 0;

  padding-left: 30px;

  border-left:
    1px solid rgba(105,91,74,.18);

  color: #666059;

  font-size: 12px;
  font-weight: 500;

  line-height: 1.75;

  word-break: keep-all;
}


/* 모바일 */
@media (max-width: 700px) {

  .team-number-guide {
    margin-bottom: 28px;

    padding:
      18px 19px;

    grid-template-columns: 1fr;

    gap: 14px;
  }


  .team-number-guide > p {
    padding:
      14px 0 0;

    border-left: 0;

    border-top:
      1px solid rgba(105,91,74,.15);

    font-size: 11px;
  }

}

/* =========================================================
   SITE CREDIT
   페이지 마지막에 글씨만 표시
========================================================= */

.site-credit {
  width: 100%;

  margin-top: -35px;

  padding:
    0 28px
    18px;

  position: relative;
  z-index: 10;

  text-align: right;

  color:
    rgba(55, 52, 48, .28);

    

  font-family:
    Georgia,
    "Noto Sans KR",
    sans-serif;

  font-size: 8px;
  font-weight: 500;

  line-height: 1;

  letter-spacing: 1.3px;

  /* 별도 영역처럼 보이지 않게 */
  background: transparent !important;

  border: 0 !important;

  box-shadow: none !important;

  pointer-events: none;
}


@media (max-width: 700px) {

  .site-credit {
    margin-top: -26px;

    padding:
      0 14px
      12px;

    font-size: 7px;
  }

}

/* =========================================================
   MOBILE OPTIMIZATION
   사계 부여청 모바일 전용
========================================================= */

@media (max-width: 768px) {

  /* ---------------------------------------------------------
     01. 모바일 전체 기본값
  --------------------------------------------------------- */

  html,
  body {
    width: 100%;
    max-width: 100%;

    margin: 0;

    overflow-x: hidden;

    -webkit-text-size-adjust: 100%;
  }


  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }


  body {
    font-family:
      Pretendard,
      "Noto Sans KR",
      "Apple SD Gothic Neo",
      "Malgun Gothic",
      sans-serif;

    word-break: keep-all;
  }


  img,
  video,
  svg {
    max-width: 100%;
  }


  /* 가로로 튀어나오는 요소 방지 */

  .page,
  .page > *,
  .section-wrap,
  .story-section {
    min-width: 0 !important;
    max-width: 100% !important;
  }



  /* ---------------------------------------------------------
     02. 상단 HEADER
  --------------------------------------------------------- */

  .header {
    width: 100%;

    padding:
      12px 14px
      10px;

    display: flex;
    flex-wrap: wrap;

    gap: 8px;

    overflow: hidden;
  }


  /* 四季 부여청 */

  .header .logo {
    flex: 0 0 auto;

    margin: 0;

    font-size: 17px;

    white-space: nowrap;
  }


  /* 메뉴 영역 */

  .header nav,
  .header .nav {
    width: 100%;

    display: flex;

    align-items: center;

    gap: 2px;

    overflow-x: auto;
    overflow-y: hidden;

    white-space: nowrap;

    -webkit-overflow-scrolling: touch;

    scrollbar-width: none;
  }


  .header nav::-webkit-scrollbar,
  .header .nav::-webkit-scrollbar {
    display: none;
  }


  /* 모바일에서 파란색 기본 버튼 제거 */

  .header nav button,
  .header .nav button {

    -webkit-appearance: none !important;
    appearance: none !important;

    flex: 0 0 auto;

    margin: 0;

    padding:
      8px 9px;

    border: 0 !important;
    border-radius: 0;

    background: transparent !important;

    color: #373731 !important;
    -webkit-text-fill-color: #373731 !important;

    font-family:
      Pretendard,
      "Noto Sans KR",
      "Apple SD Gothic Neo",
      "Malgun Gothic",
      sans-serif !important;

    font-size: 10px !important;
    font-weight: 700;

    line-height: 1;

    letter-spacing: .3px;

    white-space: nowrap;

    box-shadow: none !important;
  }



  /* ---------------------------------------------------------
     03. HOME
  --------------------------------------------------------- */

  #home {
    width: 100%;

    overflow: hidden;
  }


  #home .section-wrap {
    width: 100%;

    padding-left: 18px;
    padding-right: 18px;
  }


  #home h1 {
    max-width: 100%;

    font-size:
      clamp(38px, 12vw, 56px) !important;

    line-height: 1.08 !important;

    letter-spacing: -2px;
  }


  #home p {
    max-width: 100%;

    font-size: 14px;

    line-height: 1.8;
  }



  /* ---------------------------------------------------------
     04. 계절 카드
  --------------------------------------------------------- */

  .season-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    gap: 10px !important;
  }


  .season-card {
    min-width: 0 !important;
    min-height: 230px !important;
  }


  .season-card-image {
    height: 180px !important;
  }



  /* ---------------------------------------------------------
     05. 팀 메인
  --------------------------------------------------------- */

  .sub-cover {
    width: 100%;

    min-height: auto !important;

    padding:
      70px 18px
      60px !important;

    overflow: hidden;
  }


  .sub-cover h1 {
    width: 100%;
    max-width: 100%;

    font-size:
      clamp(38px, 11vw, 58px) !important;

    line-height: 1.08 !important;

    letter-spacing: -2.5px !important;
  }


  /* 모바일에서는 오른쪽 영문 장식 제거 */

  .sub-cover::after {
    display: none !important;
  }



  /* ---------------------------------------------------------
     06. 팀 선택 카드
  --------------------------------------------------------- */

  .team-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    gap: 10px !important;
  }


  .team-card {
    min-width: 0 !important;

    min-height: 220px !important;

    padding: 16px !important;
  }


  .team-card h3 {
    font-size: 19px !important;

    line-height: 1.3;
  }


  .team-card-description {
    font-size: 11px !important;

    line-height: 1.6;
  }



 /* ---------------------------------------------------------
   07. 사업 목록
   모바일 : 사진 상단 + 내용 하단 / 전체 높이 축소
--------------------------------------------------------- */

.activity-grid {
  width: 100%;

  grid-template-columns: 1fr !important;

  gap: 16px !important;
}


/* 사업 카드 */
.activity-card {
  width: 100% !important;

  min-width: 0 !important;
  min-height: 0 !important;

  display: grid !important;

  /* 다시 세로 배치 */
  grid-template-columns: 1fr !important;
  grid-template-rows: auto auto !important;

  overflow: hidden;

  border-radius: 4px;
}


/* 사진 영역 - 더 낮게 */
.activity-card-image {
  width: 100% !important;

  height: 110px !important;
  min-height: 110px !important;

  overflow: hidden;
}


/* 실제 사진 */
.activity-card-image img {
  display: block;

  width: 100% !important;
  height: 100% !important;

  object-fit: cover;

  /* 하단을 기준으로 유지 */
  object-position: center bottom;
}

/* 내용 */
.activity-card-content {
  min-width: 0;

  padding:
    16px 17px
    18px !important;
}


/* 사업 제목 */
.activity-card h3 {
  margin:
    8px 0
    7px !important;

  font-size: 18px !important;

  line-height: 1.35 !important;

  letter-spacing: -.5px;
}


/* 사업 설명 */
.activity-card p {
  margin-bottom: 10px;

  font-size: 11px !important;

  line-height: 1.6 !important;
}


/* 분류 / 기간 등 */
.activity-meta {
  display: flex;

  flex-direction: row !important;
  flex-wrap: wrap;

  justify-content: flex-start !important;

  gap: 5px 9px !important;

  font-size: 8px !important;
}


/* STORY VIEW */
.activity-card-content a,
.activity-card-content .story-view {
  margin-top: 8px;

  font-size: 11px !important;
}


  /* ---------------------------------------------------------
     08. 사업 상세 키워드
  --------------------------------------------------------- */

  .keyword-grid,
  .wifi-keyword-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    gap: 10px !important;
  }


  .wifi-keyword-item {
    min-width: 0;

    padding: 20px 14px !important;
  }



  /* ---------------------------------------------------------
     09. 상세 콘텐츠
  --------------------------------------------------------- */

  .content-block {
    grid-template-columns:
      1fr !important;

    gap: 18px !important;
  }


  .content-block > * {
    min-width: 0;
  }


  .content-photo {
    width: 100%;
  }


  .content-photo img {
    width: 100%;

    height: auto;

    aspect-ratio: 4 / 3;

    object-fit: cover;
  }



  /* ---------------------------------------------------------
     10. 활동정보
  --------------------------------------------------------- */

  .activity-info {
    padding:
      55px 18px !important;
  }


  .activity-info > h2 {
    margin-bottom: 30px !important;

    font-size: 28px !important;
  }


  .activity-info .info-grid {
    grid-template-columns:
      1fr !important;

    gap: 10px !important;
  }


  .activity-info .info-grid > div {
    min-height: 0 !important;

    padding:
      22px 18px !important;
  }



  /* ---------------------------------------------------------
     11. 책자 페이지
  --------------------------------------------------------- */

  .book-page-section {
    width: 100%;

    padding-left: 14px !important;
    padding-right: 14px !important;

    overflow: hidden;
  }


  .book-page-images {
    width: 100%;

    grid-template-columns:
      1fr !important;

    gap: 12px !important;
  }


  .book-page-frame {
    width: 100%;

    min-width: 0;
  }


  .book-page-frame img {
    width: 100%;
    height: auto;
  }



  /* ---------------------------------------------------------
     12. NUMBERING NOTE
  --------------------------------------------------------- */

  .team-number-guide {
    width: 100%;

    margin:
      0 0
      24px !important;

    padding:
      16px !important;

    grid-template-columns:
      1fr !important;

    gap: 11px !important;
  }


  .team-number-guide > p {
    padding:
      11px 0
      0 !important;

    border-left: 0 !important;

    border-top:
      1px solid rgba(105,91,74,.15);
  }



  /* ---------------------------------------------------------
     13. 2025 월간 부여청
  --------------------------------------------------------- */

  .archive25-cover-inner,
  .archive25-editorial,
  .archive25-bridge {
    grid-template-columns:
      1fr !important;

    gap: 35px !important;
  }


  .archive25-main-book {
    width: 88% !important;

    max-width: 360px !important;
  }


  .archive25-editorial-copy h2 {
    font-size:
      34px !important;

    line-height: 1.16 !important;

    letter-spacing: -1.8px !important;
  }


  .archive25-editorial-copy h2 span {
    font-size:
      43px !important;

    letter-spacing: -2px !important;
  }



  /* ---------------------------------------------------------
     14. 공통 큰 여백 축소
  --------------------------------------------------------- */

  .story-section,
  .intro-story,
  .future-section {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }



  /* ---------------------------------------------------------
     15. 우측 빈 공간 방지 최종 안전장치
  --------------------------------------------------------- */

  body,
  main,
  .page {
    overflow-x: clip;
  }

}

/* =========================================================
   MOBILE FINAL FIX
========================================================= */

@media (max-width: 768px) {

  /* -----------------------------------------
     01. 모바일 버튼 파란 글씨 제거
  ----------------------------------------- */

  .logo,
  .back-button,
  .main-button {

    -webkit-appearance: none !important;
    appearance: none !important;

    color: #2f2d29 !important;
    -webkit-text-fill-color: #2f2d29 !important;

    text-decoration: none !important;

    font-family:
      Georgia,
      "Noto Sans KR",
      "Apple SD Gothic Neo",
      "Malgun Gothic",
      sans-serif;
  }


  /* 사계 부여청 로고는 기존 Georgia 유지 */

 /* 사계 부여청 로고 폰트 */

.logo {
  color: #2f2d29 !important;
  -webkit-text-fill-color: #2f2d29 !important;

  font-family:
    "Noto Serif KR",
    "AppleMyungjo",
    "Batang",
    serif !important;

  font-weight: 700 !important;
}


/* 돌아가기 버튼 */

.back-button,
.main-button {
  color: #333 !important;
  -webkit-text-fill-color: #333 !important;
}


/* 눌렀을 때도 파란색 방지 */

.logo:active,
.logo:focus,
.back-button:active,
.back-button:focus,
.main-button:active,
.main-button:focus {
  color: #333 !important;
  -webkit-text-fill-color: #333 !important;
}


  /* -----------------------------------------
     02. 계절 메인 제목
     HOME 메인 제목과 같은 크기
  ----------------------------------------- */

  .season-cover-content h1 {

    font-size:
      clamp(
        55px,
        13vw,
        85px
      ) !important;

    line-height: 1.06 !important;

    letter-spacing: -4px !important;
  }

}

@media (max-width: 768px) {

  .spring-outro-inner {
    grid-template-columns: 1fr !important;
  }

  /* 글 먼저 */
  .spring-outro-content {
    order: 1 !important;
  }

  /* 책자 사진 나중 */
  .spring-outro-image {
    order: 2 !important;

    margin-top: 35px;
  }

}

/* =========================
   모바일 메인 화면 여백 정리
========================= */
@media (max-width: 768px) {
  /* 상단 헤더 전체 */
  .site-header,
  .header,
  .top-header {
    padding-bottom: 10px !important;
  }

  /* HOME ~ 2025 메뉴 영역 */
  .main-nav,
  .global-nav,
  .season-nav {
    margin-bottom: 10px !important;
    padding-bottom: 0 !important;
  }

  /* 메인 히어로 섹션 */
  .home-hero,
  .hero,
  .main-hero {
    padding-top: 28px !important;
    padding-bottom: 40px !important;
    min-height: auto !important;
  }

  /* BUCHEON WOMEN & YOUTH CENTER */
  .hero-kicker,
  .hero-subtitle,
  .hero-eyebrow {
    margin-bottom: 14px !important;
    font-size: 0.95rem !important;
    letter-spacing: 0.18em !important;
  }

  /* 메인 제목 */
  .hero-title,
  .main-title {
    margin-bottom: 18px !important;
    line-height: 1.08 !important;
  }

  /* 제목 아래 설명문 */
  .hero-desc,
  .hero-text,
  .main-desc {
    margin-bottom: 28px !important;
    line-height: 1.7 !important;
  }
}

/* =========================================================
   SPRING OUTRO
   모바일에서 글 → 사진 순서
========================================================= */

@media (max-width: 768px) {

  .outro-mobile-order {
    display: flex !important;
    flex-direction: column !important;

    width: 100%;
  }


  /* 글 먼저 */
  .outro-mobile-text {
    order: 1 !important;
  }


  /* 사진 나중 */
  .outro-mobile-photo {
    order: 2 !important;

    margin-top: 35px !important;
  }

}

/* =========================================================
   모바일 PC 열람 안내
========================================================= */

.mobile-pc-notice {
  display: none;
}

@media (max-width: 768px) {

  .mobile-pc-notice {
    display: block;

    width: 100%;

    margin:
      24px 0
      20px;

    padding:
      13px 16px;

    border:
      1px solid rgba(85, 114, 67, .22);

    border-left:
      3px solid rgba(85, 114, 67, .62);

    border-radius: 3px;

    background:
      rgba(85, 114, 67, .055);

    color:
      rgba(55, 53, 48, .72) !important;

    font-size:
      10px !important;

    font-weight: 500;

    line-height:
      1.65 !important;

    letter-spacing: 0;

    text-align: left;
  }

}

/* =========================================================
   SPRING OUTRO
   PC / MOBILE 이미지 순서 분리
========================================================= */

/* PC에서는 모바일용 사진 숨김 */
.spring-outro-mobile-image {
  display: none;
}


/* 여름편 버튼 */
.spring-summer-button {
  margin-top: 32px;
}


@media (max-width: 768px) {

  /* 모바일에서는 왼쪽에 있던 PC용 사진 숨김 */
  .spring-outro-page {
    display: none !important;
  }


  /* 글 다음에 들어가는 사진 표시 */
  .spring-outro-mobile-image {
    display: block;

    width: 100%;
    max-width: 420px;

    margin:
      38px auto
      0;
  }


  .spring-outro-mobile-image img {
    display: block;

    width: 100%;
    height: auto;
  }


  /* 사진 다음에 여름편 버튼 */
  .spring-summer-button {
    display: block;

    margin:
      24px auto
      0;

    color: #333 !important;
    -webkit-text-fill-color: #333 !important;
  }

}

/* =========================================================
   MOBILE HEADER
   매거진형 중앙 정렬
========================================================= */

@media (max-width: 768px) {

  .header {
    height: auto !important;

    padding:
      17px 18px
      0 !important;

    display: flex !important;
    flex-direction: column !important;

    align-items: center !important;
    justify-content: center !important;

    background: rgba(244, 239, 230, .97);

    border-bottom:
      1px solid rgba(50, 48, 43, .16);
  }


  /* 四季 부여청 */
  .header .logo {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 0 15px !important;

    padding: 0 !important;

    color: #262521 !important;
    -webkit-text-fill-color: #262521 !important;

    font-family:
  "Noto Serif KR",
  "AppleMyungjo",
  "Batang",
  serif !important;

    font-size: 22px !important;
    font-weight: 700 !important;

    letter-spacing: -.4px;

    text-align: center;
  }


  /* HOME ~ 2025 */
  .header nav {
    width: 100% !important;

    display: grid !important;

    grid-template-columns:
      repeat(6, minmax(0, 1fr));

    gap: 0 !important;

    margin: 0 !important;

    padding:
      0 !important;

    border-top:
      1px solid rgba(50, 48, 43, .12);
  }


  .header nav button {
    width: 100%;

    padding:
      13px 0
      14px !important;

    border: 0 !important;

    background: transparent !important;

    color: #36342f !important;
    -webkit-text-fill-color: #36342f !important;

    font-size: 10px !important;
    font-weight: 700 !important;

    line-height: 1;

    letter-spacing: .7px !important;

    text-align: center !important;

    white-space: nowrap;
  }


  /* 눌렀을 때 아주 살짝 */
  .header nav button:active {
    background:
      rgba(85, 114, 67, .07) !important;
  }

}

/* =========================================
   四季 부여청 로고 폰트
========================================= */

.logo {
  font-family:
    "Noto Serif KR",
    "AppleMyungjo",
    "Batang",
    serif !important;

  font-weight: 700 !important;

  letter-spacing: -0.7px;
}