/*
 * Subpage Aurora Editorial
 * 큰 감정 제목은 Gowun Batang, 정보·행동·수치는 Pretendard로 분리한다.
 * 홈의 오로라를 반복 복제하지 않고 각 페이지의 정보 성격에 맞춰 농도를 조절한다.
 */

:is(
  body[data-page="about"],
  body[data-page="process"],
  body[data-page="reviews"],
  body[data-page="notes"],
  body[data-page="note_detail"],
  body[data-page="faq"],
  body[data-page="pricing"]
){
  overflow-x:hidden;
  background:
    radial-gradient(ellipse at 84% 2%,rgba(211,194,255,.25),transparent 29rem),
    radial-gradient(ellipse at 8% 38%,rgba(255,229,154,.1),transparent 25rem),
    #fcfaff;
}

/* 공통 제목 문법: 감정은 명조, 안내는 고딕 */
:is(
  body[data-page="process"],
  body[data-page="reviews"],
  body[data-page="faq"]
) .sec>.ey{
  color:#7c3aed;
  font-size:9px;
  font-weight:850;
  letter-spacing:2.6px;
}
:is(
  body[data-page="process"],
  body[data-page="reviews"],
  body[data-page="faq"]
) .sec>.sec-title{
  margin-top:13px;
  color:#281735;
  font-family:'Gowun Batang',serif;
  font-size:clamp(32px,3.6vw,42px);
  font-weight:700;
  line-height:1.3;
  letter-spacing:-2.2px;
}
:is(
  body[data-page="process"],
  body[data-page="reviews"],
  body[data-page="faq"]
) .sec>.sec-sub{
  margin-top:12px;
  color:#786d81;
  font-size:13.5px;
}

/* 쩜미 소개 — 사진은 서사적으로, 본문은 조용한 잡지 면처럼 */
body[data-page="about"] .about-hero{
  background:
    radial-gradient(ellipse at 76% 18%,rgba(210,190,255,.19),transparent 38%),
    linear-gradient(145deg,#1e0938,#301255);
}
body[data-page="about"] .about-hero-title,
body[data-page="about"] .about-story-title,
body[data-page="about"] .about-image-break-title{
  font-family:'Gowun Batang',serif;
  font-weight:700;
}
body[data-page="about"] .about-hero-title{
  max-width:520px;
  font-size:clamp(25px,2.35vw,31px);
  line-height:1.4;
  letter-spacing:-1.2px;
}
body[data-page="about"] .about-hero,
body[data-page="about"] .about-hero-visual{
  min-height:440px;
}
body[data-page="about"] .about-hero-copy{
  padding-top:50px;
  padding-bottom:50px;
}
body[data-page="about"] .about-story{
  max-width:820px;
  padding-top:82px;
  padding-bottom:76px;
}
body[data-page="about"] .about-story-title{
  font-size:28px;
  line-height:1.46;
  letter-spacing:-1.1px;
}
body[data-page="about"] .about-story p{
  color:#675c70;
  line-height:2;
}
body[data-page="about"] .about-principles{
  background:
    radial-gradient(ellipse at 86% 0%,rgba(209,190,255,.22),transparent 30rem),
    rgba(248,245,252,.88);
}
body[data-page="about"] .principle-title{
  font-family:'Gowun Batang',serif;
  font-size:18px;
  font-weight:400;
}
body[data-page="about"] .principle-row{
  border-color:rgba(83,53,105,.12);
}

/* 매칭 방식 — 넓은 여백과 얇은 진행선 */
body[data-page="process"]>.sec{
  max-width:980px;
  padding-top:82px;
  padding-bottom:98px;
}
body[data-page="process"] .steps{
  max-width:860px;
  margin-top:48px;
}
body[data-page="process"] .step-row{
  padding-top:27px;
  padding-bottom:27px;
  border-color:rgba(83,53,105,.12);
}
body[data-page="process"] .step-row h3{
  color:#30223c;
  font-size:17px;
}
body[data-page="process"] .match-preview-sec{
  margin-top:54px;
  border:1px solid rgba(205,185,255,.16);
  box-shadow:0 24px 70px rgba(40,16,67,.12);
}
body[data-page="process"] .match-preview-title{
  font-family:'Pretendard',sans-serif;
  font-size:20px;
  font-weight:850;
  line-height:1.42;
  letter-spacing:-.5px;
}

/* 후기 — 제목만 서정적으로, 실제 정보와 본문은 선명한 고딕 */
body[data-page="reviews"] .reviews-hero{
  max-width:1120px;
  padding-top:80px;
  text-align:center;
}
body[data-page="reviews"] .reviews-hero>.ey,
body[data-page="reviews"] .reviews-hero>.sec-title,
body[data-page="reviews"] .reviews-hero>.sec-sub{
  width:100%;
  margin-left:auto;
  margin-right:auto;
  text-align:center!important;
}
body[data-page="reviews"] .reviews-story-section{
  max-width:1120px;
  padding-bottom:108px;
}
body[data-page="reviews"] .sec:not(.reviews-hero)>.sec-title{
  color:#30223c;
  font-family:'Pretendard',sans-serif;
  font-size:28px;
  font-weight:850;
  letter-spacing:-.9px;
  text-align:left;
}
body[data-page="reviews"] .cc{
  border-color:rgba(83,53,105,.13);
  border-radius:10px;
  background:rgba(255,255,255,.72);
  box-shadow:0 15px 42px rgba(52,29,71,.055);
  backdrop-filter:blur(12px);
}
body[data-page="reviews"] .cc img,
body[data-page="reviews"] .cc.reversed img{
  border-radius:0;
}
body[data-page="reviews"] .cc-names{
  font-size:25px;
  letter-spacing:-.8px;
}
body[data-page="reviews"] .cc-story{
  color:#665b70;
}
body[data-page="reviews"] .kakao-review-card{
  border-color:rgba(83,53,105,.13);
  border-radius:10px;
  background:rgba(255,255,255,.78);
}

/* 쩜미노트 — 기존 동화책 카드보다 가벼운 에디토리얼 표지 */
body[data-page="notes"] .notes-page{
  max-width:1200px;
}
body[data-page="notes"] .notes-header h1{
  font-size:clamp(33px,3.7vw,44px);
  font-weight:700;
  letter-spacing:-1.7px;
}
body[data-page="notes"] .notes-kicker{
  color:#7c3aed;
}
body[data-page="notes"] .note-tile{
  border:1px solid rgba(83,53,105,.14);
  border-radius:9px;
  box-shadow:0 16px 38px rgba(45,23,62,.09);
}
body[data-page="notes"] .notes-filters a{
  border-radius:999px;
  background:rgba(255,255,255,.66);
}
body[data-page="note_detail"] .note-article{
  background:transparent;
}
body[data-page="note_detail"] .note-hero h1{
  font-weight:400;
}

/* FAQ — 검색 도구는 고딕, 질문 화면의 문턱만 서정적으로 */
body[data-page="faq"] .faq-sec{
  max-width:940px;
  padding-top:80px!important;
  padding-bottom:102px!important;
}
body[data-page="faq"] .faq-sec>.ey,
body[data-page="faq"] .faq-sec>.sec-title,
body[data-page="faq"] .faq-sec>.sec-sub{
  text-align:center;
}
body[data-page="faq"] .faq-search{
  margin-top:32px;
}
body[data-page="faq"] .faq-search input{
  border-color:rgba(83,53,105,.14);
  border-radius:10px;
  background:rgba(255,255,255,.72);
  box-shadow:0 14px 36px rgba(54,30,73,.045);
  backdrop-filter:blur(12px);
}
body[data-page="faq"] .faq-cat{
  border-color:rgba(83,53,105,.14);
  background:rgba(255,255,255,.54);
}
body[data-page="faq"] .faq-cat.on{
  border-color:#7c3aed;
  background:#7c3aed;
  color:#fff;
  box-shadow:0 7px 18px rgba(124,58,237,.16);
}
body[data-page="faq"] .faq-item{
  border-color:rgba(83,53,105,.12);
  background:rgba(255,255,255,.68);
  box-shadow:none;
}

/* 이용권 — 어두운 판매 상자보다 밝은 연결 절차표 */
body[data-page="pricing"] .pricing-sec{
  max-width:1180px;
  padding-top:74px;
  padding-bottom:100px;
}
body[data-page="pricing"] .price-hero{
  padding:60px 34px;
  border:1px solid rgba(83,53,105,.13);
  border-radius:10px;
  background:
    radial-gradient(ellipse at 14% 8%,rgba(208,190,255,.34),transparent 34%),
    radial-gradient(ellipse at 89% 84%,rgba(255,226,146,.18),transparent 30%),
    rgba(255,255,255,.64);
  box-shadow:0 18px 52px rgba(48,25,66,.055);
}
body[data-page="pricing"] .price-hero>div:first-child{
  color:#7c3aed!important;
  font-size:9px!important;
  font-weight:850!important;
  letter-spacing:2.7px!important;
}
body[data-page="pricing"] .price-principle{
  color:#2d1839;
}
body[data-page="pricing"] .pf-step{
  border-color:rgba(83,53,105,.14);
  border-radius:8px;
  background:rgba(255,255,255,.76);
}
body[data-page="pricing"] .pf-step.is-paid{
  border-color:rgba(201,168,76,.56);
  background:rgba(255,252,241,.8);
  box-shadow:0 14px 35px rgba(109,77,19,.07);
}
body[data-page="pricing"] .pf-label{
  color:#776b80;
}
body[data-page="pricing"] .pf-price{
  color:#3b2849;
  font-family:'Gowun Batang',serif;
  font-weight:700;
}
body[data-page="pricing"] .pf-step.is-paid .pf-price{
  color:#8f6a15;
}
body[data-page="pricing"] .pf-desc{
  color:#817587;
}
body[data-page="pricing"] .include-card,
body[data-page="pricing"] .vs-col{
  border:1px solid rgba(83,53,105,.12);
  border-radius:9px;
  background:rgba(255,255,255,.72);
  box-shadow:0 12px 34px rgba(53,29,72,.045);
}
body[data-page="pricing"] .pricing-included{
  border:1px solid rgba(83,53,105,.1);
  border-radius:10px!important;
  background:
    radial-gradient(ellipse at 84% 4%,rgba(207,189,255,.2),transparent 32%),
    rgba(247,244,251,.72)!important;
}
body[data-page="pricing"] .pricing-included-title{
  font-family:'Gowun Batang',serif;
  font-size:30px!important;
  font-weight:700!important;
  line-height:1.45;
  letter-spacing:-1.5px;
}
body[data-page="pricing"] .vs-sec{
  border:1px solid rgba(83,53,105,.1);
  border-radius:10px;
  background:rgba(247,244,251,.72);
}
body[data-page="pricing"] .vs-title{
  font-family:'Gowun Batang',serif;
  font-size:30px;
  font-weight:700;
  letter-spacing:-1.5px;
}

@media(max-width:768px){
  :is(
    body[data-page="process"],
    body[data-page="reviews"],
    body[data-page="faq"]
  ) .sec>.sec-title{
    font-size:28px;
    line-height:1.34;
    letter-spacing:-1.15px;
    text-align:center;
  }
  :is(
    body[data-page="process"],
    body[data-page="reviews"],
    body[data-page="faq"]
  ) .sec>.ey,
  :is(
    body[data-page="process"],
    body[data-page="reviews"],
    body[data-page="faq"]
  ) .sec>.sec-sub{
    font-size:12.5px;
    line-height:1.7;
    text-align:center;
  }

  body[data-page="about"] .about-hero-title{
    font-size:20px;
    font-weight:700;
    line-height:1.42;
    letter-spacing:-.7px;
  }
  body[data-page="about"] .about-story{
    padding-top:52px;
    padding-bottom:48px;
  }
  body[data-page="about"] .about-story-title{
    font-size:21px;
    font-weight:700;
    line-height:1.52;
  }
  body[data-page="about"] .about-story p{
    font-size:13px;
    line-height:1.88;
  }
  body[data-page="about"] .principle-title{
    font-size:16px;
    font-weight:400;
  }
  body[data-page="process"]>.sec,
  body[data-page="reviews"] .reviews-hero,
  body[data-page="faq"] .faq-sec{
    padding-top:50px!important;
  }
  body[data-page="process"] .steps{
    margin-top:31px;
  }
  body[data-page="process"] .match-preview-title{
    font-size:18px;
  }
  body[data-page="process"] .step-row h3{
    font-size:15.5px;
  }
  body[data-page="process"] .step-row p{
    font-size:12.5px;
  }
  body[data-page="reviews"] .reviews-story-section{
    padding-bottom:72px;
  }
  body[data-page="reviews"] .sec:not(.reviews-hero)>.sec-title{
    font-size:22px;
    text-align:center;
  }
  body[data-page="reviews"] .cc-names{
    font-size:21px;
  }
  body[data-page="reviews"] .cc-story{
    font-size:13px;
    line-height:1.8;
  }
  body[data-page="reviews"] .cc,
  body[data-page="reviews"] .cc img,
  body[data-page="reviews"] .cc.reversed img,
  body[data-page="reviews"] .cc.story-open img{
    border-radius:14px;
  }
  body[data-page="reviews"] .couple-list .cc:not(.story-open) img,
  body[data-page="reviews"] .couple-list .cc.reversed:not(.story-open) img{
    border-radius:14px 0 0 14px;
  }
  body[data-page="notes"] .notes-header h1{
    font-size:28px;
    font-weight:700;
    letter-spacing:-1.15px;
  }
  body[data-page="note_detail"] .note-hero h1{
    font-size:28px;
    line-height:1.38;
  }
  body[data-page="note_detail"] .note-body{
    font-size:15px;
    line-height:1.9;
  }
  body[data-page="pricing"] .pricing-sec{
    padding-top:44px;
  }
  body[data-page="pricing"] .price-hero{
    padding:35px 18px;
    text-align:center;
  }
  body[data-page="pricing"] .pricing-included-title{
    font-size:25px!important;
    font-weight:700!important;
    letter-spacing:-1px;
  }
  body[data-page="pricing"] .vs-title,
  body[data-page="pricing"] .vs-sub{
    text-align:center;
  }
  body[data-page="pricing"] .vs-title{
    font-size:26px;
    font-weight:700;
    line-height:1.4;
    letter-spacing:-1px;
  }
  body[data-page="pricing"] .vs-sub{
    font-size:12.5px;
  }
  body[data-page="pricing"] .pf-price{
    font-size:30px;
  }
  body[data-page="pricing"] .price-cta{
    font-size:14px;
  }
}

@media(prefers-reduced-motion:reduce){
  body[data-page="reviews"] .cc,
  body[data-page="notes"] .note-tile{
    transition:none!important;
  }
}
