/* Graphic-led dark homepage. Scoped so paid result pages keep their existing reading layout. */
.home-page:not(.reading-page) {
  color: #dce9e2;
  background: radial-gradient(circle at 12% 6%, #183a30 0, transparent 27%), #061713;
}

.home-page:not(.reading-page) .nav {
  width: min(1220px, calc(100% - 48px));
  padding: 22px 0;
}
.home-page:not(.reading-page) .brand { width: clamp(180px, 19vw, 238px); }
.brand-logo-reverse { display: none; }
.home-page:not(.reading-page) .brand-logo-default { display: none; }
.home-page:not(.reading-page) .brand-logo-reverse { display: block; opacity: .94; }
.home-page:not(.reading-page) .nav-link { color: #a7bdb2; }
.home-page:not(.reading-page) .nav-link:hover { color: #fff; }
.home-page:not(.reading-page) .nav-cta {
  color: #f8eee8;
  background: #15372e;
  border-color: #42675a;
}
.home-page:not(.reading-page) .nav-cta:hover { color: #fff; background: #204a3e; border-color: #678d7e; }

.home-page:not(.reading-page) main { padding-bottom: 0; }
.home-page:not(.reading-page) .hero {
  position: relative;
  grid-template-areas: "copy visual" "form form";
  grid-template-columns: minmax(0, .82fr) minmax(430px, 1.18fr);
  gap: 18px 48px;
  width: min(1240px, calc(100% - 36px));
  min-height: 720px;
  margin: 0 auto 42px;
  padding: 68px 68px 32px;
  overflow: hidden;
  border: 1px solid #31584b;
  border-radius: 34px;
  background:
    radial-gradient(circle at 78% 15%, #254b3f 0, transparent 30%),
    radial-gradient(circle at 8% 100%, #193a31 0, transparent 32%),
    linear-gradient(135deg, #03110e, #0b2821);
  box-shadow: 0 38px 95px #0000008c;
}
.home-page:not(.reading-page) .hero::before {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(#ffffff07 1px, transparent 1px), linear-gradient(90deg, #ffffff07 1px, transparent 1px);
  background-size: 52px 52px;
  content: "";
  pointer-events: none;
  mask-image: linear-gradient(to bottom, #000, transparent 88%);
}
.home-page:not(.reading-page) .hero-copy { position: relative; z-index: 4; grid-area: copy; align-self: center; }
.home-page:not(.reading-page) .hero h1 {
  margin-bottom: 26px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(52px, 5.4vw, 78px);
  font-weight: 500;
  line-height: .98;
}
.home-page:not(.reading-page) .hero h1 em { color: #f0a47e; }
.home-page:not(.reading-page) .hero .lede { max-width: 520px; color: #cbdcd3; font-size: 17px; }
.home-page:not(.reading-page) .hero-button { background: #df7547; box-shadow: 0 15px 30px #0008; }
.home-page:not(.reading-page) .hero-button:hover { background: #ed8556; }
.home-page:not(.reading-page) .hero-free-trust { color: #9fb9ad; }

.home-visual-stage { position: relative; z-index: 3; grid-area: visual; height: 500px; }
.home-orbit { position: absolute; left: 50%; top: 50%; border: 1px solid #ffffff24; border-radius: 50%; transform: translate(-50%, -50%); }
.home-orbit-one { width: 480px; height: 480px; }
.home-orbit-two { width: 365px; height: 365px; border-style: dashed; }
.home-premium-card {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 238px;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border: 1px solid #ffffff3f;
  border-radius: 19px;
  box-shadow: 0 28px 55px #000a;
}
.home-card-main { z-index: 3; transform: translate(-50%, -50%); }
.home-card-left { z-index: 1; transform: translate(-103%, -44%) rotate(-12deg) scale(.84); filter: saturate(.7) brightness(.72); }
.home-card-right { z-index: 2; transform: translate(4%, -45%) rotate(11deg) scale(.86); filter: saturate(.82) brightness(.8); }
.home-element {
  position: absolute;
  z-index: 4;
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 1px solid #ffffff38;
  border-radius: 50%;
  background: #14372edd;
  box-shadow: 0 9px 25px #0008;
  backdrop-filter: blur(8px);
}
.home-element b { font-family: Georgia, serif; font-size: 20px; line-height: 1; }
.home-element span { margin-top: -13px; color: #bdd1c7; font-size: 6px; font-weight: 800; letter-spacing: .12em; }
.home-element-wood { left: 8%; top: 17%; }
.home-element-fire { right: 8%; top: 13%; color: #ffae83; }
.home-element-earth { left: 1%; bottom: 18%; color: #ebcf98; }
.home-element-metal { right: 1%; bottom: 24%; color: #dce8e2; }
.home-element-water { right: 19%; bottom: 1%; color: #96c8ca; }
.home-visual-seal {
  position: absolute;
  right: 12%;
  top: 42%;
  z-index: 5;
  display: none;
  width: 68px;
  height: 68px;
  place-items: center;
  border-radius: 50%;
  color: #8a3e24;
  background: #f7e8d7;
  box-shadow: 0 12px 28px #0009;
  transform: rotate(8deg);
}
.home-visual-seal strong { font-family: Georgia, serif; font-size: 24px; }
.home-visual-seal span { margin-bottom: -18px; font-size: 5px; font-weight: 900; letter-spacing: .12em; }

.home-page:not(.reading-page) .hero-free-form {
  position: relative;
  z-index: 6;
  grid-area: form;
  display: grid;
  grid-template-columns: 1.1fr 1.35fr 1.15fr .9fr 1fr;
  gap: 9px 11px;
  align-items: end;
  padding: 18px;
  border-color: #466a5e;
  color: #edf4f0;
  background: #0a211cdb;
  box-shadow: 0 24px 55px #0009;
  transform: none;
  backdrop-filter: blur(18px);
}
.home-page:not(.reading-page) .hero-free-top { display: none; }
.home-page:not(.reading-page) .hero-free-form h2 { grid-column: 1; grid-row: 1; margin: 0; color: #edf4f0; font-size: 19px; line-height: 1.05; }
.home-page:not(.reading-page) .hero-free-form > p { grid-column: 1; grid-row: 2; align-self: start; margin: 0; color: #93ab9f; font-size: 9px; }
.home-page:not(.reading-page) .hero-free-form .row { grid-column: 2; grid-row: 1 / span 2; align-self: end; }
.home-page:not(.reading-page) .hero-free-form > label:nth-of-type(1) { grid-column: 3; grid-row: 1 / span 2; }
.home-page:not(.reading-page) .hero-free-form > label:nth-of-type(2) { grid-column: 3; grid-row: 1 / span 2; }
.home-page:not(.reading-page) .hero-free-form > label:nth-of-type(3) { grid-column: 4; grid-row: 1 / span 2; }
.home-page:not(.reading-page) .hero-free-form > button { grid-column: 5; grid-row: 1 / span 2; min-height: 44px; margin-bottom: 11px; background: #df7547; box-shadow: 0 10px 24px #0007; }
.home-page:not(.reading-page) .hero-free-form > small { grid-column: 1 / -1; margin: 0; color: #8fa79b; }
.home-page:not(.reading-page) .hero-free-form label { margin-bottom: 0; color: #a8beb3; }
.home-page:not(.reading-page) .hero-free-form input,
.home-page:not(.reading-page) .hero-free-form select {
  min-height: 44px;
  padding: 10px;
  color: #e6efea;
  background: #102e26;
  border-color: #3a5b50;
  color-scheme: dark;
}

.home-page:not(.reading-page) .truth-strip { margin: 8px auto 102px; color: #92a89d; }
.home-page:not(.reading-page) .truth-strip strong { color: #f0a47e; }
.home-page:not(.reading-page) .truth-strip span + span::before,
.home-page:not(.reading-page) .truth-strip strong + span::before { color: #48675c; }

.home-page:not(.reading-page) .story-section { width: min(1120px, calc(100% - 48px)); margin-bottom: 120px; }
.story-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: center; }
.home-page:not(.reading-page) .section-heading h2,
.home-page:not(.reading-page) .reading-intro h2 { color: #e8f0ec; }
.home-page:not(.reading-page) .section-heading > p:last-child,
.home-page:not(.reading-page) .reading-intro p { color: #9db1a7; }
.home-element-wheel { position: relative; height: 470px; }
.home-wheel-core {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  display: grid;
  width: 150px;
  height: 150px;
  place-items: center;
  border: 9px solid #061713;
  border-radius: 50%;
  color: #fff;
  background: #173f34;
  box-shadow: 0 18px 40px #0009;
  transform: translate(-50%, -50%);
}
.home-wheel-core strong { font-family: Georgia, serif; font-size: 43px; line-height: .7; }
.home-wheel-core span, .home-wheel-core small { font-size: 7px; font-weight: 850; letter-spacing: .16em; }
.home-petal {
  position: absolute;
  display: grid;
  width: 130px;
  height: 130px;
  place-items: center;
  border: 1px solid #ffffff3b;
  border-radius: 50%;
  box-shadow: 0 12px 28px #0005;
}
.home-petal b { font-family: Georgia, serif; font-size: 34px; }
.home-petal span { margin-top: -26px; font-size: 8px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.home-petal.wood { left: 50%; top: 0; color: #a8d0b2; background: #173d30; transform: translateX(-50%); }
.home-petal.fire { right: 3%; top: 25%; color: #ffac88; background: #4a241c; }
.home-petal.earth { right: 15%; bottom: 0; color: #e4c783; background: #44351f; }
.home-petal.metal { left: 15%; bottom: 0; color: #d7e2dc; background: #34423d; }
.home-petal.water { left: 3%; top: 25%; color: #a6d5d5; background: #163d43; }
.home-page:not(.reading-page) .benefit-grid { margin-top: -8px; }
.home-page:not(.reading-page) .benefit-grid article {
  min-height: 165px;
  border-color: #315046;
  color: #dce9e2;
  background: #102b24c9;
  box-shadow: 0 15px 30px #0004;
}
.home-page:not(.reading-page) .benefit-grid h3 { margin-top: 24px; color: #e8f0ec; }
.home-page:not(.reading-page) .benefit-grid p { color: #8fa69a; }

.home-page:not(.reading-page) .reading-intro {
  position: relative;
  grid-template-columns: .72fr 1.28fr;
  width: 100%;
  min-height: 650px;
  margin: 0 0 86px;
  padding: 76px max(6vw, 30px);
  overflow: hidden;
  border-top: 1px solid #34594c;
  border-bottom: 1px solid #263f37;
  background: radial-gradient(circle at 80% 20%, #294f42, transparent 31%), linear-gradient(135deg, #020d0b, #0a211b);
}
.reading-intro-copy { position: relative; z-index: 3; max-width: 470px; }
.home-page:not(.reading-page) .reading-intro-copy h2 { font-size: clamp(47px, 6vw, 74px); }
.home-page:not(.reading-page) .reading-intro-copy > p:not(.eyebrow) { font-size: 14px; line-height: 1.75; }
.reading-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.reading-badges span { padding: 8px 11px; border: 1px solid #ffffff2f; border-radius: 999px; color: #c8d9d0; font-size: 8px; font-weight: 750; }
.reading-card-gallery { position: relative; height: 520px; }
.reading-card-gallery figure { position: absolute; top: 50%; left: 50%; width: 245px; margin: 0; transform-origin: 50% 100%; }
.reading-card-gallery figure:nth-child(1) { z-index: 1; transform: translate(-105%, -46%) rotate(-12deg); }
.reading-card-gallery figure:nth-child(2) { z-index: 3; transform: translate(-50%, -51%); }
.reading-card-gallery figure:nth-child(3) { z-index: 2; transform: translate(5%, -46%) rotate(12deg); }
.reading-card-gallery img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border: 1px solid #ffffff48; border-radius: 18px; box-shadow: 0 30px 60px #0009; }

.home-page:not(.reading-page) .panel,
.home-page:not(.reading-page) .result {
  border-color: #315046;
  color: #dce9e2;
  background: #0b241d;
  box-shadow: 0 28px 80px #0007;
}
.home-page:not(.reading-page) .panel h2,
.home-page:not(.reading-page) .result h2,
.home-page:not(.reading-page) .form-heading strong,
.home-page:not(.reading-page) label { color: #dce9e2; }
.home-page:not(.reading-page) .panel-lede,
.home-page:not(.reading-page) label small,
.home-page:not(.reading-page) .form-heading small,
.home-page:not(.reading-page) .time-confidence-note,
.home-page:not(.reading-page) .fine { color: #8fa69a; }
.home-page:not(.reading-page) .product {
  color: #dce9e2;
  background: #102d25;
  border-color: #315046;
}
.home-page:not(.reading-page) .product:hover { border-color: #5a806f; }
.home-page:not(.reading-page) .product.selected,
.home-page:not(.reading-page) .product[data-code="FREE_LIFE_SNAPSHOT"],
.home-page:not(.reading-page) .product[data-code="FREE_LIFE_SNAPSHOT"].selected { color: #fff; background: #173a30; border-color: #df7547; }
.home-page:not(.reading-page) .product small { color: #91a89d; }
.home-page:not(.reading-page) .product-copy em { color: #f0a47e; background: #4d281f; }
.home-page:not(.reading-page) .purchase-note,
.home-page:not(.reading-page) .time-confidence-group { color: #aac0b5; background: #102d25; border-color: #315046; }
.home-page:not(.reading-page) .purchase-note strong { color: #e3ece7; }
.home-page:not(.reading-page) input,
.home-page:not(.reading-page) select,
.home-page:not(.reading-page) textarea {
  color: #e5eee9;
  background: #102d25;
  border-color: #3a5b50;
  color-scheme: dark;
}
.home-page:not(.reading-page) input:focus,
.home-page:not(.reading-page) select:focus,
.home-page:not(.reading-page) textarea:focus { background: #15372e; border-color: #729888; }
.home-page:not(.reading-page) .form-heading { border-bottom-color: #315046; }
.home-page:not(.reading-page) .digital-consent { border-color: #315046; background: #102d25; }
.home-page:not(.reading-page) .digital-consent a { color: #f0a47e; }
.home-page:not(.reading-page) .form-trust { color: #9bb1a6; }
.home-page:not(.reading-page) .more-readings { color: #dce9e2; background: #14362d; border-color: #42675a; }
.home-page:not(.reading-page) .result-home { color: #abc2b7; }
.home-page:not(.reading-page) .free-result-heading h2,
.home-page:not(.reading-page) .free-share-card h3,
.home-page:not(.reading-page) .free-premium-card h3 { color: #e8f0ec; }
.home-page:not(.reading-page) .free-result-intro { color: #c1d3ca; }
.home-page:not(.reading-page) .free-chart { border-color: #315046; background: #0d2922; }
.home-page:not(.reading-page) .free-chart-heading h3, .home-page:not(.reading-page) .free-chart-count-heading { color: #e8f0ec; }
.home-page:not(.reading-page) .free-chart-heading > p:last-child, .home-page:not(.reading-page) .free-chart-note { color: #9bb1a6; }
.home-page:not(.reading-page) .free-pillar, .home-page:not(.reading-page) .free-element-counts > div, .home-page:not(.reading-page) .free-possible-masters article { border-color: #315046; background: #12352b; }
.home-page:not(.reading-page) .free-pillar summary strong, .home-page:not(.reading-page) .free-element-counts strong, .home-page:not(.reading-page) .free-possible-masters strong { color: #edf4f0; }
.home-page:not(.reading-page) .free-pillar summary em, .home-page:not(.reading-page) .free-pillar > div, .home-page:not(.reading-page) .free-element-counts span, .home-page:not(.reading-page) .free-possible-masters small { color: #a9bfb4; }
.home-page:not(.reading-page) .free-insight-grid article { color: #dce9e2; background: #102d25; border-color: #315046; }
.home-page:not(.reading-page) .free-insight-grid p { color: #b7cbc1; }
.home-page:not(.reading-page) .free-confidence { color: #a9bfb4; background: #102d25; }
.home-page:not(.reading-page) .free-share-card { color: #dce9e2; background: linear-gradient(135deg, #102d25, #15382e); border-color: #315046; }
.home-page:not(.reading-page) .free-share-card p:not(.eyebrow),
.home-page:not(.reading-page) .free-premium-card p:not(.eyebrow) { color: #a9bfb4; }
.home-page:not(.reading-page) .free-premium-card { color: #dce9e2; background: linear-gradient(135deg, #342118, #102d25); border-color: #684734; }

.home-page:not(.reading-page) .how-section {
  border: 1px solid #315046;
  color: #dce9e2;
  background: #0d2922;
}
.home-page:not(.reading-page) .steps article { border-color: #315046; background: #102d25; }
.home-page:not(.reading-page) .steps h3 { color: #e4ede8; }
.home-page:not(.reading-page) .steps p { color: #8fa69a; }
.home-page:not(.reading-page) .faq-section { background: #04100d; }
.home-page:not(.reading-page) .faq-grid article { border-color: #315046; background: #0d2922; }
.home-page:not(.reading-page) .faq-grid h3 { color: #e4ede8; }
.home-page:not(.reading-page) .faq-grid p { color: #8fa69a; }
.home-page:not(.reading-page) .recovery-section { border-color: #315046; background: #0d2922; }
.home-page:not(.reading-page) .recovery-section h2 { color: #e4ede8; }
.home-page:not(.reading-page) .recovery-section > div > p:last-child { color: #8fa69a; }
.home-page:not(.reading-page) footer { color: #82998e; border-top: 1px solid #29473e; }
.home-page:not(.reading-page) footer a { color: #c3d7cd; }

@media (max-width: 1020px) {
  .home-page:not(.reading-page) .hero { grid-template-areas: "copy" "visual" "form"; grid-template-columns: 1fr; padding: 55px 30px 30px; }
  .home-page:not(.reading-page) .hero-copy { max-width: 680px; margin-inline: auto; text-align: center; }
  .home-page:not(.reading-page) .hero .lede { margin-inline: auto; }
  .home-page:not(.reading-page) .hero-actions, .home-page:not(.reading-page) .hero-free-trust { justify-content: center; }
  .home-visual-stage { width: min(100%, 650px); height: 475px; margin-inline: auto; }
  .home-page:not(.reading-page) .hero-free-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-page:not(.reading-page) .hero-free-form h2 { grid-column: 1 / -1; grid-row: auto; }
  .home-page:not(.reading-page) .hero-free-form > p { grid-column: 1 / -1; grid-row: auto; }
  .home-page:not(.reading-page) .hero-free-form .row,
  .home-page:not(.reading-page) .hero-free-form > label:nth-of-type(1),
  .home-page:not(.reading-page) .hero-free-form > label:nth-of-type(2),
  .home-page:not(.reading-page) .hero-free-form > label:nth-of-type(3),
  .home-page:not(.reading-page) .hero-free-form > button { grid-column: auto; grid-row: auto; margin-bottom: 0; }
  .home-page:not(.reading-page) .hero-free-form > button { align-self: end; }
  .story-layout { grid-template-columns: 1fr; gap: 30px; }
  .home-page:not(.reading-page) .story-layout .section-heading { margin-inline: auto; text-align: center; }
  .home-element-wheel { width: min(100%, 650px); margin-inline: auto; }
}

@media (max-width: 760px) {
  .home-page:not(.reading-page) .nav { width: calc(100% - 28px); }
  .home-page:not(.reading-page) .brand { width: 164px; }
  .home-page:not(.reading-page) .hero { width: calc(100% - 18px); margin-bottom: 28px; padding: 44px 18px 20px; border-radius: 24px; }
  .home-page:not(.reading-page) .hero h1 { font-size: 48px; }
  .home-visual-stage { height: 390px; margin-top: 10px; }
  .home-orbit-one { width: 355px; height: 355px; }
  .home-orbit-two { width: 280px; height: 280px; }
  .home-premium-card { width: 177px; }
  .home-element { width: 47px; height: 47px; }
  .home-visual-seal { right: 5%; width: 57px; height: 57px; }
  .home-page:not(.reading-page) .hero-free-form { grid-template-columns: 1fr; padding: 20px 17px; }
  .home-page:not(.reading-page) .hero-free-form > *,
  .home-page:not(.reading-page) .hero-free-form .row,
  .home-page:not(.reading-page) .hero-free-form > label:nth-of-type(1),
  .home-page:not(.reading-page) .hero-free-form > label:nth-of-type(2),
  .home-page:not(.reading-page) .hero-free-form > label:nth-of-type(3),
  .home-page:not(.reading-page) .hero-free-form > button,
  .home-page:not(.reading-page) .hero-free-form > small { grid-column: 1; grid-row: auto; }
  .home-page:not(.reading-page) .hero-free-form .row { grid-template-columns: 1fr 1fr; }
  .home-page:not(.reading-page) .truth-strip { margin-bottom: 72px; }
  .home-page:not(.reading-page) .story-section { width: calc(100% - 28px); margin-bottom: 80px; }
  .home-element-wheel { height: 370px; }
  .home-wheel-core { width: 112px; height: 112px; }
  .home-wheel-core strong { font-size: 33px; }
  .home-petal { width: 98px; height: 98px; }
  .home-petal b { font-size: 27px; }
  .home-page:not(.reading-page) .benefit-grid { grid-template-columns: 1fr; }
  .home-page:not(.reading-page) .reading-intro { grid-template-columns: 1fr; min-height: 900px; padding: 66px 18px 42px; text-align: center; }
  .reading-intro-copy { margin-inline: auto; }
  .reading-badges { justify-content: center; }
  .reading-card-gallery { height: 440px; margin-top: 35px; }
  .reading-card-gallery figure { width: 185px; }
}

@media (max-width: 430px) {
  .home-page:not(.reading-page) .hero h1 { font-size: 42px; }
  .home-visual-stage { height: 345px; }
  .home-orbit-one { width: 310px; height: 310px; }
  .home-orbit-two { width: 245px; height: 245px; }
  .home-premium-card { width: 158px; }
  .home-element-wood { left: 1%; }
  .home-element-fire { right: 1%; }
  .home-page:not(.reading-page) .hero-free-form .row { grid-template-columns: 1fr; }
  .home-petal { width: 88px; height: 88px; }
  .home-petal.metal { left: 10%; }
  .home-petal.earth { right: 10%; }
}

/* Five-element compass: bespoke vector sigils replace the original text circles. */
.home-element-wheel {
  isolation: isolate;
  width: min(100%, 620px);
  height: 500px;
  margin-inline: auto;
}
.element-map-lines {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.map-ring,
.map-star {
  fill: none;
  stroke: url(#mapLine);
  stroke-width: 1.2;
}
.map-ring.outer { stroke-dasharray: 2 8; }
.map-ring.inner { stroke-dasharray: 1 7; opacity: .55; }
.map-star { stroke-width: .85; opacity: .55; }
.map-star.faint { stroke-dasharray: 3 10; opacity: .22; }
.map-node { fill: #e79a72; filter: drop-shadow(0 0 8px #e79a7299); }

.home-wheel-core {
  z-index: 6;
  display: flex;
  width: 174px;
  height: 174px;
  padding: 0;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.day-master-sigil { position: absolute; inset: 0; width: 100%; height: 100%; filter: drop-shadow(0 18px 24px #000b); }
.core-frame { fill: #102f27; stroke: #75a18e; stroke-width: 1.2; }
.core-ring { fill: none; stroke: #f0a47e; stroke-width: .8; stroke-dasharray: 2 5; opacity: .65; }
.core-hanja { fill: none; stroke: #f6e5d9; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.core-accent { fill: none; stroke: #f0a47e; stroke-width: 1.4; }
.home-wheel-core span,
.home-wheel-core small { position: relative; z-index: 2; color: #f4ddd0; line-height: 1; }
.home-wheel-core span { margin-top: 110px; font-size: 6px; }
.home-wheel-core small { margin-top: 7px; color: #a9c4b8; font-size: 6px; }

.home-sigil {
  --sigil: #b8d7c4;
  --sigil-soft: #8ab69f;
  --sigil-bg: #15382e;
  position: absolute;
  z-index: 3;
  display: flex;
  width: 138px;
  align-items: center;
  flex-direction: column;
  color: var(--sigil);
  filter: drop-shadow(0 15px 18px #0007);
  transition: transform .25s ease, filter .25s ease;
}
.home-sigil:hover { z-index: 7; filter: drop-shadow(0 20px 25px #000b); }
.home-sigil.wood { left: 50%; top: -2px; --sigil: #9fd2ad; --sigil-soft: #77af8a; --sigil-bg: #123c2c; transform: translateX(-50%); }
.home-sigil.fire { right: -2px; top: 26%; --sigil: #ff9872; --sigil-soft: #e96c49; --sigil-bg: #4b2119; }
.home-sigil.earth { right: 13%; bottom: -5px; --sigil: #e8bf69; --sigil-soft: #b88b43; --sigil-bg: #49361c; }
.home-sigil.metal { left: 13%; bottom: -5px; --sigil: #e2e9e5; --sigil-soft: #aabbb4; --sigil-bg: #35463f; }
.home-sigil.water { left: -2px; top: 26%; --sigil: #83cbd4; --sigil-soft: #56a9b8; --sigil-bg: #123b45; }
.home-sigil:hover.wood { transform: translateX(-50%) translateY(-4px) scale(1.035); }
.home-sigil:hover:not(.wood) { transform: translateY(-4px) scale(1.035); }
.element-emblem { display: block; width: 122px; height: 122px; overflow: visible; }
.emblem-frame { fill: var(--sigil-bg); stroke: var(--sigil); stroke-width: 1.1; }
.emblem-hanja {
  fill: var(--sigil-soft);
  font-family: "Noto Serif CJK KR", "Noto Serif KR", Georgia, serif;
  font-size: 23px;
  font-weight: 700;
  text-anchor: middle;
  opacity: .78;
  transform: translate(29px, -49px);
}
.emblem-icon { fill: none; stroke: var(--sigil); stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; }
.home-sigil.fire .emblem-icon path:first-child,
.home-sigil.water .emblem-icon path:first-child { fill: color-mix(in srgb, var(--sigil-soft) 18%, transparent); }
.home-sigil > span { margin-top: 7px; color: var(--sigil); font-size: 8px; font-weight: 900; letter-spacing: .24em; }
.home-sigil > small { margin-top: 3px; color: #91a99d; font-size: 6px; font-weight: 800; letter-spacing: .13em; }

@media (max-width: 760px) {
  .home-element-wheel { width: min(100%, 520px); height: 410px; }
  .home-wheel-core { width: 138px; height: 138px; }
  .home-wheel-core span { margin-top: 88px; }
  .home-sigil { width: 108px; }
  .element-emblem { width: 94px; height: 94px; }
  .home-sigil.wood { top: 5px; }
  .home-sigil.fire, .home-sigil.water { top: 27%; }
  .home-sigil.earth, .home-sigil.metal { bottom: 2px; }
}

@media (max-width: 430px) {
  .home-element-wheel { height: 355px; }
  .home-wheel-core { width: 118px; height: 118px; }
  .home-wheel-core span { margin-top: 74px; font-size: 5px; }
  .home-wheel-core small { margin-top: 5px; font-size: 5px; }
  .home-sigil { width: 88px; }
  .element-emblem { width: 78px; height: 78px; }
  .home-sigil.wood { top: 3px; }
  .home-sigil.fire { right: -5px; }
  .home-sigil.water { left: -5px; }
  .home-sigil.earth { right: 9%; }
  .home-sigil.metal { left: 9%; }
  .home-sigil > span { margin-top: 4px; font-size: 6px; }
  .home-sigil > small { font-size: 5px; }
}

/* Painted five-element cycle: bespoke art replaces the temporary icon diagram. */
.home-element-wheel {
  isolation: isolate;
  height: 500px;
}

.home-element-wheel::before {
  position: absolute;
  z-index: 1;
  inset: -4% -2% -2%;
  content: "";
  background: url('/assets/five-elements-illustration-v1.webp') center / contain no-repeat;
  filter: drop-shadow(0 30px 34px rgb(0 0 0 / .36));
  pointer-events: none;
}

.element-map-lines,
.home-sigil {
  display: none;
}

.home-wheel-core {
  left: 50.1%;
  top: 51.5%;
  z-index: 3;
  width: 166px;
  height: 166px;
  border: 0;
  border-radius: 50%;
  overflow: visible;
  background: url('/assets/day-master-medallion-v2.webp') center / contain no-repeat;
  box-shadow: none;
}

.home-wheel-core::after,
.home-wheel-core .day-master-sigil,
.home-wheel-core span,
.home-wheel-core small { display: none; }

@media (max-width: 900px) {
  .home-element-wheel { height: 470px; }
}

@media (max-width: 600px) {
  .home-element-wheel { height: 390px; }
  .home-element-wheel::before { inset: 0 -5%; }
  .home-wheel-core { top: 52.4%; width: 126px; height: 126px; }
}
.together-home{max-width:1160px;margin:28px auto;padding:30px;border:1px solid #426653;border-radius:24px;background:linear-gradient(110deg,#244a39,#0c241c);display:flex;align-items:center;gap:30px;justify-content:space-between}.together-home h2{font:400 32px/1.15 Georgia,serif;color:#f0f0dc;margin:0 0 12px}.together-home p{color:#b7d0bf;max-width:620px;margin-bottom:0}.together-home .eyebrow{margin-bottom:12px}.together-home .button{flex-shrink:0}.hero-actions .together-hero-link{color:#f5d0b0;border:1px solid #9b8267;border-radius:30px;padding:12px 18px;font-size:14px;text-decoration:none}.free-together-entry{margin:24px 0;padding:26px;border:1px solid #60856f;border-radius:20px;background:#234b383d}.free-together-entry h3{font:400 30px/1.2 Georgia,serif;color:#f1ead4}.free-together-entry p{color:#b7d0bf}.free-together-entry .button{display:inline-flex}@media(max-width:700px){.together-home{margin:20px 14px;padding:25px;flex-direction:column;align-items:flex-start}.together-home h2{font-size:28px}.hero-actions{flex-wrap:wrap}}
