/* 연지 paper frame. Ivory #F6F1E7, persimmon #E4572E, seal wordmark.
   Home is a reading: ticker, greeting, free daily, numbered steps, product rows.
   Lime catalog tiles and hard offset shadows stay off this surface. */

body { background: var(--bg); }

.fa-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--ink);
}
.fa-logo img {
  width: 40px;
  height: 40px;
  display: block;
}
.fa-logo .wm,
.fa-logo .jua {
  font-size: 22px;
  line-height: 1;
  padding-top: 1px;
}

.topbar { height: auto; }
.topbar-inner { height: auto; min-height: 64px; }

.h.display {
  font-size: 40px;
  line-height: 1.18;
  margin: 10px 0 0;
  font-weight: 600;
}
.display.center { text-align: center; }

.section-head,
.sec-label {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  border-top: 1px solid var(--ink);
  padding-top: 10px;
  margin: 28px 0 16px;
}
.section-head .sec,
.sec-label span:first-child {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 500;
}
.section-head .note,
.sec-label .note { margin: 0; text-align: right; }

.y-home { display: flex; flex-direction: column; gap: 8px; padding-top: 0; }
.y-ticker {
  margin: 0 -20px 8px;
  background: var(--ink);
  color: var(--ivory);
  overflow: hidden;
  white-space: nowrap;
}
.y-ticker div {
  display: inline-block;
  padding: 11px 0;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 13px;
  letter-spacing: .04em;
  animation: ymarquee 42s linear infinite;
}
.y-ticker b { color: var(--persimmon); font-weight: 500; }
@keyframes ymarquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.y-hero { position: relative; padding: 18px 76px 8px 0; }
.y-eyebrow,
.eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink2);
}
.y-eyebrow .dot,
.eyebrow .dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--persimmon);
}
.y-hero .lede { max-width: 36rem; margin: 14px 0 0; }
.y-cta { width: auto; min-width: 220px; margin-top: 18px; padding-left: 22px; padding-right: 22px; }
.y-micro {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
  font-size: 13px;
  color: var(--ink2);
}
.y-micro i { width: 3px; height: 3px; border-radius: 50%; background: var(--ink3); }
.y-sticker {
  position: absolute;
  right: 4px;
  top: 18px;
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: var(--persimmon);
  color: #fff;
  font-family: BHS, "Black Han Sans", sans-serif;
  font-size: 18px;
  display: grid;
  place-items: center;
  transform: rotate(-12deg);
  box-shadow: 0 8px 16px -10px rgba(196,73,40,.8);
}

.y-daily {
  margin-top: 18px;
  background: var(--ivory2);
  border-radius: 22px;
  padding: 16px 18px 14px;
  border: 1px solid rgba(23,22,28,.08);
}
.y-reading { padding-bottom: 18px; }
.y-daily-brand { display: flex; align-items: center; gap: 8px; }
.y-daily-brand img { width: 36px; height: 36px; display: block; }
.y-kicker {
  font-family: "Noto Serif KR", "Gowun Batang", serif;
  font-weight: 600;
  font-size: 22px;
  line-height: 1.35;
  margin: 14px 0 0;
  letter-spacing: -0.03em;
}
.y-essay {
  font-family: "Noto Serif KR", "Gowun Batang", serif;
  font-size: 16.5px;
  line-height: 1.85;
  margin: 14px 0 0;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.y-basis {
  margin: 16px 0 0;
  padding-top: 12px;
  border-top: 1px dashed rgba(23,22,28,.28);
  font-size: 13px;
  line-height: 1.6;
  color: var(--ink2);
}
.y-daily-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.free-tag {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  background: var(--persimmon);
  color: #fff;
  border-radius: 999px;
  padding: 5px 8px;
}
.y-daily-line {
  font-family: "Noto Serif KR", "Gowun Batang", serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.55;
  margin: 12px 0 0;
  letter-spacing: -0.03em;
}
.y-daily-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
  font-size: 13px;
  color: var(--ink2);
}
.y-daily-meta a { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; color: var(--deep); }

.y-steps ol { list-style: none; margin: 0; padding: 0; }
.y-steps li {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 14px 0;
  border-bottom: 1px dashed rgba(23,22,28,.28);
}
.y-steps .n {
  font-family: "Noto Serif KR", serif;
  font-size: 22px;
  color: var(--persimmon);
  line-height: 1;
  width: 36px;
  flex: none;
}
.y-steps b { display: block; font-size: 16px; }
.y-steps p { margin: 4px 0 0; color: var(--ink2); font-size: 14px; line-height: 1.5; }

.y-prod {
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 16px;
  min-height: 148px;
  text-align: left;
  position: relative;
}
.y-prod h3,
.y-prod h4 {
  font-family: "Noto Serif KR", "Gowun Batang", serif;
  font-weight: 600;
  letter-spacing: -0.03em;
  margin: 6px 0 0;
}
.y-prod h3 { font-size: 32px; line-height: 1.15; }
.y-prod h4 { font-size: 22px; }
.y-prod p { margin: 0; color: var(--ink2); font-size: 14px; line-height: 1.45; }
.y-prod-row { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.y-price-sm { font-weight: 700; font-size: 15px; }
.y-prod-hero {
  background: var(--plum);
  color: var(--ivory);
  border-color: var(--plum);
  box-shadow: 0 0 0 3px var(--ivory), 0 0 0 4.5px var(--persimmon);
  min-height: 168px;
  margin-top: 4px;
}
.y-prod-hero p { color: rgba(246,241,231,.78); }
.y-prod-hero .y-price-sm { color: var(--blush); }
.y-prod-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 10px;
}
.y-free-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed rgba(23,22,28,.28);
  font-size: 14px;
  font-weight: 600;
}
.y-free-strip .mono { color: var(--persimmon); }
.y-prose { margin: 12px 0 0; font-size: 15px; line-height: 1.65; color: var(--ink2); }
.y-why { margin: 8px 0 0; font-size: 13.5px; line-height: 1.55; color: var(--ink2); }
.y-prod-hero .y-why,
.y-prod-hero .y-prose { color: rgba(246,241,231,.82); }
.y-prod-row h4 { margin: 0; }
.y-tint-basic { background: var(--ivory2); }
.y-tint-tarot { background: #F4EBD6; }
.y-tint-precision { background: #E7DEEB; }
.y-tint-love { background: #F8E8EA; }
.y-tint-wealth { background: #F4EBD6; }
.y-tint-gunghap { background: #E7F0EC; }
.y-tint-newyear { background: #EFE6D4; }
.y-state { margin: 16px 0 0; font-size: 14.5px; line-height: 1.5; color: var(--ink2); }
.me-pay { margin-top: 28px; padding-top: 14px; border-top: 1px solid var(--ink); }
.me-pay h2 { font-size: 22px; margin: 0 0 4px; }
.pay-empty {
  margin-top: 12px;
  padding: 18px 16px;
  border-radius: 18px;
  background: var(--ivory2);
  border: 1px dashed rgba(23,22,28,.22);
}
.pay-empty b { display: block; font-size: 16px; }
.pay-empty .note { margin: 6px 0 0; }
.me-links { margin-top: 8px; }
.me-links .catalog__row { width: 100%; }
.catalog__copy b, .catalog__copy .note { display: block; }
.best-tag {
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--persimmon);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}
.y-pay > .best-tag { margin-top: 10px; }
.y-sample {
  margin-top: 18px;
  padding: 18px 18px 16px;
  border-radius: 22px;
  background: var(--paper);
  border: 1px dashed rgba(23,22,28,.28);
}
.y-sample-line {
  font-family: "Noto Serif KR", "Gowun Batang", serif;
  font-weight: 600;
  font-size: 26px;
  line-height: 1.35;
  margin: 12px 0 0;
  letter-spacing: -0.03em;
}

.y-pay, .y-auth { max-width: 640px; margin-inline: auto; }
.bottom .btn { max-width: 640px; margin-inline: auto; }
.y-pay .h.display { font-size: 44px; }
.y-price {
  font-family: "Noto Serif KR", serif;
  font-size: 40px;
  margin: 8px 0 4px;
  letter-spacing: -0.03em;
}
.y-agree { display: flex; align-items: center; gap: 10px; margin-top: 12px; min-height: 44px; font-size: 14.5px; font-weight: 600; line-height: 1.45; }
.y-agree input { width: 24px; height: 24px; flex: none; margin: 0; accent-color: var(--ink); }
.rel-pick { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.rel-pick .opt { justify-content: flex-start; padding: 0 14px; text-align: left; min-height: 48px; }

.y-auth { max-width: 480px; padding-top: 18px; }
.y-auth .h.display { font-size: 40px; }
.y-auth .social { box-shadow: none; }

.score {
  padding: 22px 20px 18px;
  position: relative;
  overflow: hidden;
  margin-top: 8px;
  background:
    radial-gradient(120px 120px at 100% 0, rgba(228,87,46,.16), transparent 70%),
    var(--paper);
}
/* 청담선희 낙관만 둔다 (동그라미 테두리·바탕 없음). */
.score__seal {
  position: absolute;
  right: 12px;
  top: 12px;
  width: 84px;
  height: 84px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.score__seal img { width: 72px; height: 72px; }
.score__who { position: relative; font-weight: 700; font-size: 16px; padding-right: 96px; }
.score__num {
  position: relative;
  display: flex;
  align-items: flex-end;
  gap: 2px;
  margin-top: 8px;
}
.score__num .h { font-size: 72px; line-height: .9; color: var(--persimmon); }
.score__num .unit { font-size: 26px; padding-bottom: 8px; color: var(--ink); }
.score__line {
  position: relative;
  font-family: "Noto Serif KR", serif;
  font-weight: 600;
  font-size: 22px;
  line-height: 1.35;
  margin: 12px 0 0;
  max-width: 34rem;
}
.pink { color: var(--deep); }

.block { margin-top: 18px; }
.block__h { display: flex; align-items: center; gap: 8px; }
.block__h .h { font-size: 22px; }
.reading {
  margin-top: 8px;
  padding: 16px 18px;
  border-width: 1px;
  white-space: pre-wrap;
  line-height: 1.65;
  font-size: 15.5px;
  background: var(--paper);
}
.reading.prose { white-space: normal; }
.reading.prose p { margin: 0 0 0.75em; }
.reading.prose p:last-child { margin-bottom: 0; }
.reading.prose ul, .reading.prose .reading-list { margin: 0 0 0.75em; padding-left: 1.2em; }
.reading.prose li { margin: 0.25em 0; }
.reading.prose strong { font-weight: 700; }
.reading-step span { display: inline-block; min-width: 1.2em; font-weight: 700; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.result .btn.line { margin-top: 16px; }
.pay-hero { margin-top: 8px; padding: 18px; }
.pay-hero .h { font-size: 40px; margin-top: 8px; }
.me-card { padding: 16px 18px; }

@media (min-width: 900px) {
  .h.display { font-size: 64px; }
  .y-home {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    column-gap: 36px;
    align-items: start;
  }
  .y-ticker { grid-column: 1 / -1; }
  .y-hero { grid-column: 1; padding-top: 28px; }
  .y-daily { grid-column: 2; margin-top: 36px; }
  .y-steps { grid-column: 1 / -1; }
  .y-sample { grid-column: 1 / -1; }
  .y-products { grid-column: 1 / -1; }
  .y-prod-grid { grid-template-columns: 1fr 1fr; }
  .desk-nav { gap: 14px; font-size: 14px; }
  .y-sticker { right: 12px; top: 28px; }
  .result, .pay { width: min(720px, 100%); }
  .y-auth .h.display { font-size: 56px; }
}

@media (max-width: 720px) {
  .h.display { font-size: 34px; }
  .y-daily-line { font-size: 18px; }
  .y-kicker { font-size: 20px; }
  .y-essay { font-size: 16px; }
  .y-prod h3 { font-size: 28px; }
  .y-sticker { width: 58px; height: 58px; font-size: 16px; }
  .y-cta { width: 100%; }
}

/* Original report inclusions inside the Yeonzy presentation shell. */
.fg-premium-tables{margin:20px 0;padding:16px;border:1px solid var(--line,#ddd);border-radius:16px;overflow:auto}
.fg-premium-tables table{border-collapse:collapse;width:100%}.fg-premium-tables td,.fg-premium-tables th{padding:8px;text-align:left;border-bottom:1px solid #ddd}
.fg-current-row{background:var(--limeT,#f0f6dc)}.fg-wol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.fg-wol-chip{display:flex;flex-direction:column}
.fg-love-tarot{margin:24px 0}.fg-love-tarot__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.fg-result-card{padding:10px;border:1px solid #ddd;border-radius:12px}.fg-result-card img{width:100%;height:auto}.fg-result-card-label,.fg-result-card-name{font-weight:700;margin:8px 0}.fg-love-tarot__note,.fg-love-tarot__blurb{font-size:13px}
@media print{header,nav,button,.bottom,.bottom-nav,.legal-footer,.toast{display:none!important}body,.app,.content{height:auto!important;overflow:visible!important;max-width:none!important}.content{padding:0!important}.fg-result-card img{max-height:180px;object-fit:contain}.fg-love-tarot__grid{grid-template-columns:repeat(5,1fr)}.block{break-inside:auto}}

.y-prod__main{display:block;color:inherit;text-decoration:none}.y-prod .y-sample-link{display:block;position:static;margin-top:10px;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font-size:12px;text-decoration:underline}.y-hub-includes{font-size:12px;line-height:1.65;padding-left:16px;margin:10px 0 0}

/* Multi-line questions must not inherit the 52px single-line .inp layout. */
.y-pay textarea.inp{display:block;height:auto;min-height:160px;padding:16px 18px;line-height:1.7;font-weight:400;resize:vertical}
.y-pay textarea.inp::placeholder{color:var(--ink3);opacity:1}
/* Face-down, tap-to-select cards: the original past/present/future interaction. */
.y-tarot-drawn{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(100%,420px);margin:16px auto 20px}
.y-tarot-drawn figure{margin:0;text-align:center}
.y-tarot-drawn img{display:block;width:100%;height:auto;aspect-ratio:360/623;object-fit:cover;border-radius:10px;border:1px solid rgba(23,22,28,.22);background:var(--ivory3)}
.y-tarot-drawn figcaption{margin-top:6px;font-size:13px;font-weight:600;line-height:1.35}
.y-tarot-drawn figcaption span{display:block;font-size:12px;font-weight:500;color:var(--sub)}
.y-tarot-pick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:min(100%,420px);margin:16px auto 24px}
.y-tarot-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:2/3;min-height:148px;border:1px solid var(--plum);border-radius:16px;padding:20px 8px;background:var(--plum);color:var(--ivory);transition:transform .18s,background .18s,box-shadow .18s;touch-action:manipulation}
.y-tarot-card::before{content:"";position:absolute;inset:8px;border:1px solid rgba(246,241,231,.5);border-radius:10px;pointer-events:none}
.y-tarot-card__symbol{font-size:36px;line-height:1}
.y-tarot-card__label{position:absolute;bottom:20px;font-size:13px;font-weight:600}
.y-tarot-card__check{position:absolute;top:14px;right:16px;opacity:0}
.y-tarot-card.is-picked{transform:translateY(-5px);background:var(--persimmon);border-color:var(--persimmon);box-shadow:0 8px 18px -10px var(--plum)}
.y-tarot-card.is-picked .y-tarot-card__check{opacity:1}
.y-tarot-card:focus-visible{outline:3px solid var(--jade);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.y-tarot-card{transition:none}}

/* Historical rich report sections (6b9b7d1 / 50b41a7), in the current Yeonzy palette. */
.reading.prose.report-body{padding:0;background:transparent;font-size:16px;line-height:1.8}
.reading.prose .fg-read-sec{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:18px 20px 10px;margin:0 0 18px}
.reading.prose h2,.reading.prose h3,.reading.prose h4,.reading.prose h5,.reading.prose h6{font-family:"Noto Serif KR","Gowun Batang",serif;line-height:1.45;color:var(--plum);overflow-wrap:anywhere}
.reading.prose .fg-read-sec>h2{font-size:21px;font-weight:700;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.reading.prose h3{font-size:18px;margin:22px 0 10px}.reading.prose h4,.reading.prose h5,.reading.prose h6{font-size:16px;margin:18px 0 8px}
.reading.prose ol{margin:0 0 .75em;padding-left:1.5em}.reading.prose li>ul,.reading.prose li>ol{margin-top:.35em;margin-bottom:.35em}.reading.prose hr{border:0;border-top:1px solid var(--line);margin:20px 0}
.sample-preview{margin:18px 0 24px;padding:18px 20px;background:var(--ivory2);border:1px solid var(--line);border-radius:16px}
.sample-preview h2{font-size:19px;margin:0 0 10px}.sample-preview h3{font-size:16px;margin:18px 0 8px}.sample-preview p,.sample-coverage{font-size:14px;line-height:1.7;margin:0}.sample-coverage{padding-left:1.5em}.sample-coverage li{margin:.35em 0}
@media print{.sample-preview{break-inside:avoid}.reading.prose .fg-read-sec{box-shadow:none;border-color:#ccc}}

/* 사주팔자: 한자 아래 한글 읽기, 두 사람이면 사람마다 한 묶음. */
.pillars-person { margin-top: 10px; }
.pillars-person h3 { font-size: 15px; margin: 0 0 6px; }
.pillars-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; text-align: center; }
.pillars-grid .pillar { border: 1.5px solid #e6e0ee; border-radius: 12px; padding: 8px 4px; background: #fff; }
.pillars-grid .pillar small { display: block; font-size: 12px; color: #5F5E57; }
.pillars-grid .pillar b { display: block; font-size: 20px; letter-spacing: 2px; margin-top: 2px; }
.pillars-grid .pillar span { display: block; font-size: 14px; margin-top: 2px; }
.pillars-note { font-size: 14px; color: #3D3C37; margin: 8px 0 0; }
/* 다른 리포트 이어 보기 */
.cross-sell .catalog__row { margin-top: 8px; }
