@font-face {
  font-family: "GenWanMin";
  src: url("https://raw.githubusercontent.com/ButTaiwan/genwan-font/v2.100/otf/TW/GenWanMin2TW-R.otf") format("opentype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --ink: #ece6d8;
  --muted: #a9a494;
  --gold: #c9a763;
  --gold-light: #e8cf91;
  --black: #0b0d0a;
  --panel: #151711;
  --line: rgba(201, 167, 99, .28);
  --serif: "GenWanMin", "PMingLiU", serif;
  --display: "GenWanMin", "PMingLiU", serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 20% 0%, rgba(83, 96, 60, .18), transparent 35rem),
    radial-gradient(circle at 85% 35%, rgba(124, 86, 43, .12), transparent 30rem),
    var(--black);
  font-family: var(--serif);
  line-height: 1.85;
}
body::before {
  content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .13;
  background-image: linear-gradient(90deg, transparent 49.8%, rgba(255,255,255,.03) 50%, transparent 50.2%);
  background-size: 11rem 100%;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.grain {
  position: fixed; inset: 0; pointer-events: none; z-index: 10; opacity: .025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}
.site-header {
  position: sticky; top: 0; z-index: 20; height: 76px; padding: 0 max(5vw, 24px);
  display: flex; align-items: center; justify-content: space-between;
  background: rgba(11, 13, 10, .9); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px);
}
.brand { display: flex; align-items: center; gap: 12px; }
.brand-mark { width: 46px; height: 46px; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(201,167,99,.72); border-radius: 50%; background:#090b08; box-shadow:0 0 18px rgba(201,167,99,.12); }
.brand-mark img { width:100%; height:100%; object-fit:cover; transform:scale(1.18); }
.brand b { display: block; letter-spacing: .22em; font: 600 .9rem var(--display); color: var(--gold-light); }
.brand small { display: block; color: var(--muted); font-size: .68rem; letter-spacing: .14em; }
nav { display: flex; gap: clamp(14px, 2.4vw, 34px); font-size: .86rem; color: #c8c3b7; }
nav a { position: relative; padding: 10px 0; }
nav a:hover, nav a.active { color: var(--gold-light); }
nav a.active::after { content:""; position:absolute; left: 0; right: 0; bottom: 2px; height:1px; background: var(--gold); }
.menu-button { display: none; border:0; background:none; color:var(--gold-light); font-size:1.4rem; }
main { min-height: 70vh; }
.wrap { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.eyebrow { color: var(--gold); text-transform: uppercase; letter-spacing: .25em; font: 500 .75rem var(--display); }
h1,h2,h3 { font-family: var(--serif); font-weight: 500; line-height: 1.35; }
h1 { margin: 18px 0 24px; font-size: clamp(2.4rem, 6vw, 5.2rem); letter-spacing: .06em; }
h2 { font-size: clamp(1.8rem, 4vw, 3rem); margin: 0 0 20px; }
h3 { font-size: 1.18rem; }
.lead { max-width: 720px; color: #c9c4b8; font-size: clamp(1rem, 2vw, 1.18rem); }
.button-row { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 32px; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height: 50px; padding: 0 24px; border: 1px solid var(--gold); color: var(--gold-light); letter-spacing: .08em; cursor:pointer; background: transparent; transition:.25s; }
.btn.primary { color:#17140d; background: linear-gradient(135deg, #e1c57e, #a47f3f); }
.btn:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(201,167,99,.14); }
.hero { min-height: calc(100vh - 76px); display:grid; align-items:center; position:relative; overflow:hidden; }
.hero::after { content:"ᛉ"; position:absolute; right:4vw; top:50%; transform:translateY(-50%); color:rgba(201,167,99,.07); font-size:min(52vw, 580px); line-height:1; }
.hero .wrap { position:relative; z-index:1; padding-block:90px; }
.hero-copy { max-width: 1180px; }
.hero-points { display:flex; gap:10px; flex-wrap:wrap; margin-top:24px; }
.hero-points span { border:1px solid rgba(201,167,99,.28); color:#d7c9a6; padding:6px 12px; font-size:.82rem; background:rgba(21,23,17,.64); }
.hero-path-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:34px; }
.hero-path-card { min-height:250px; display:flex; flex-direction:column; align-items:flex-start; padding:26px; border:1px solid var(--line); background:linear-gradient(145deg,rgba(27,30,22,.94),rgba(15,17,13,.97)); }
.hero-path-card.featured { border-color:rgba(201,167,99,.62); box-shadow:inset 0 0 0 1px rgba(201,167,99,.08); }
.hero-path-number { color:var(--gold); font:.7rem var(--display); letter-spacing:.18em; }
.hero-path-card h2 { margin:18px 0 10px; color:var(--gold-light); font-size:clamp(1.25rem,2vw,1.55rem); }
.hero-path-card p { margin:0 0 24px; color:#bdb7aa; }
.hero-path-card .btn { margin-top:auto; min-width:100%; }
.section { padding: clamp(76px, 10vw, 128px) 0; border-top:1px solid rgba(201,167,99,.13); }
.compact-section { padding: clamp(42px, 6vw, 76px) 0; }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:42px; }
.section-head p { max-width:550px; color:var(--muted); }
.learn-grid, .service-grid, .detail-grid { display:grid; gap:18px; }
.learn-grid { grid-template-columns:repeat(3, 1fr); counter-reset: steps; }
.learn-card, .content-card {
  background:linear-gradient(145deg, rgba(27,30,22,.92), rgba(15,17,13,.96));
  border:1px solid var(--line); padding:30px; position:relative;
}
.learn-card { counter-increment:steps; min-height:230px; }
.learn-card::before { content:"0" counter(steps); color:var(--gold); font:500 .72rem var(--display); letter-spacing:.15em; }
.learn-card p, .content-card p { color:#bcb7aa; margin-bottom:0; }
.rune-teaser { display:flex; align-items:center; gap:22px; padding:25px; background:var(--panel); border:1px solid var(--line); }
.rune-teaser .symbol { font-size:3.6rem; color:var(--gold-light); }
.cta { overflow:hidden; position:relative; padding:clamp(48px,8vw,90px); background:linear-gradient(135deg,#24271c,#12140f); border:1px solid rgba(201,167,99,.45); }
.cta::after { content:"ᚦ ᚨ ᚱ ᛟ"; position:absolute; right:-20px; bottom:-45px; color:rgba(201,167,99,.06); font-size:7rem; letter-spacing:.15em; white-space:nowrap; }
.cta > * { position:relative; z-index:1; }
.soft-cta { background:linear-gradient(135deg,rgba(31,35,25,.96),rgba(13,15,11,.98)); }
.page-hero { padding:clamp(75px,10vw,120px) 0 55px; text-align:center; }
.page-hero .lead { margin-inline:auto; }
.filter-bar { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:28px; }
.filter-bar p { color:var(--muted); }
.rune-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; padding-bottom:110px; }
.rune-groups { padding-bottom:110px; }
.rune-group .rune-grid { padding-bottom:0; }
.rune-group + .rune-group { margin-top:clamp(72px,9vw,110px); padding-top:clamp(62px,8vw,92px); border-top:1px solid rgba(201,167,99,.2); }
.rune-group-head { display:flex; align-items:end; justify-content:space-between; gap:36px; margin-bottom:30px; }
.rune-group-head h2 { margin:8px 0 0; font-size:clamp(1.75rem,3vw,2.55rem); }
.rune-group-head h2 span { color:var(--gold-light); }
.rune-group-head p { max-width:520px; margin:0; color:var(--muted); }
.rune-card { min-height:300px; padding:26px; display:flex; flex-direction:column; position:relative; overflow:hidden; background:linear-gradient(160deg,rgba(27,30,22,.95),rgba(12,14,10,.95)); border:1px solid rgba(201,167,99,.24); transition:.3s; }
.rune-card:hover { transform:translateY(-5px); border-color:var(--gold); box-shadow:0 18px 40px rgba(0,0,0,.35); }
.rune-card .number { color:#77766d; font:500 .68rem var(--display); letter-spacing:.14em; }
.rune-card .rune-symbol { font-size:5rem; line-height:1.2; color:var(--gold-light); margin:18px 0 8px; }
.rune-card h3 { margin:0; font-family:var(--display); letter-spacing:.04em; }
.rune-card .cn { color:var(--gold); font-size:.82rem; }
.keywords { display:flex; gap:6px; flex-wrap:wrap; margin:15px 0; }
.chip { border:1px solid rgba(201,167,99,.25); color:#aaa698; padding:3px 8px; font-size:.7rem; }
.rune-card p { color:#aaa699; margin:auto 0 0; font-size:.84rem; line-height:1.7; }
.rune-card .arrow { position:absolute; right:19px; bottom:13px; color:var(--gold); }
.detail-hero { padding:80px 0 60px; border-bottom:1px solid var(--line); }
.detail-top { display:grid; grid-template-columns:260px 1fr; gap:65px; align-items:center; }
.giant-rune { aspect-ratio:1; display:grid; place-items:center; color:var(--gold-light); font-size:10rem; background:radial-gradient(circle,rgba(201,167,99,.14),transparent 64%); border:1px solid var(--line); }
.detail-title { font:500 clamp(2.5rem,6vw,5rem) var(--display); margin:8px 0; }
.detail-subtitle { color:var(--gold); font-size:1.05rem; }
.detail-grid { grid-template-columns:1fr 1fr; padding-block:70px 110px; }
.content-card h3 { color:var(--gold-light); margin-top:0; }
.content-card.feature { grid-column:1/-1; }
.reflection-list { margin:0; padding-left:1.25rem; color:#bcb7aa; }
.reflection-list li + li { margin-top:12px; }
.reflection-card { box-shadow:inset 3px 0 0 rgba(201,167,99,.52); }
.action-card { background:linear-gradient(145deg,rgba(38,39,27,.94),rgba(16,18,13,.98)); box-shadow:inset 3px 0 0 rgba(232,207,145,.62); }
.back-link { color:var(--gold); font-size:.85rem; }
.daily-stage { min-height:calc(100vh - 76px); display:grid; place-items:center; padding:75px 0; text-align:center; }
.draw-shell { width:min(760px,calc(100% - 40px)); }
.rune-stone { width:min(320px,82vw); aspect-ratio:.72; margin:35px auto; display:grid; place-items:center; border:1px solid var(--gold); background:radial-gradient(circle at 50% 35%,#34372a,#11130f 68%); box-shadow:0 25px 70px rgba(0,0,0,.55), inset 0 0 40px rgba(201,167,99,.08); clip-path:polygon(9% 2%,90% 0,98% 12%,95% 89%,85% 100%,12% 97%,1% 86%,3% 11%); }
.rune-stone .mystery { color:var(--gold); font-size:8rem; opacity:.7; }
.draw-result .rune-stone { width:min(260px,75vw); }
.draw-result .mystery { font-size:8rem; color:var(--gold-light); opacity:1; animation:reveal .7s ease both; }
@keyframes reveal { from { opacity:0; transform:scale(.6) rotate(-8deg); filter:blur(10px); } }
.draw-result h2 { font-family:var(--display); margin-bottom:4px; }
.draw-result .summary { color:#d2ccbd; font-size:1.08rem; }
.advice-box { margin:28px auto; padding:24px; max-width:650px; border:1px solid var(--line); background:rgba(21,23,17,.8); color:#bbb6a9; }
.service-grid { grid-template-columns:1fr 1fr; }
.service-choice { min-height:260px; display:flex; flex-direction:column; }
.service-choice .button-row { margin-top:auto; }
.home-about { background:linear-gradient(180deg,rgba(201,167,99,.025),rgba(11,13,10,0)); }
.about-intro { display:grid; grid-template-columns:.75fr 1.25fr; gap:60px; align-items:start; }
.portrait-mark { min-height:440px; display:grid; place-items:center; border:1px solid var(--line); background:radial-gradient(circle,#2a2d21,#11130f 70%); overflow:hidden; }
.portrait-mark img { width:min(360px,82%); aspect-ratio:1; object-fit:cover; border-radius:50%; border:1px solid rgba(201,167,99,.45); box-shadow:0 25px 70px rgba(0,0,0,.45); }
.compact-portrait { min-height:360px; }
.about-hero { min-height:calc(100vh - 76px); display:grid; align-items:center; overflow:hidden; position:relative; border-bottom:1px solid rgba(201,167,99,.13); }
.about-hero::after { content:"ᛟ"; position:absolute; right:-2vw; bottom:-8vw; color:rgba(201,167,99,.045); font-size:min(52vw,600px); line-height:1; }
.about-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(40px,7vw,100px); align-items:center; padding-block:clamp(72px,9vw,118px); position:relative; z-index:1; }
.about-hero-mark { min-height:480px; display:grid; place-items:center; border:1px solid var(--line); background:radial-gradient(circle at 50% 45%,rgba(201,167,99,.17),rgba(17,19,15,.94) 68%); }
.about-hero-mark img { width:min(390px,84%); aspect-ratio:1; object-fit:cover; border-radius:50%; border:1px solid rgba(201,167,99,.5); box-shadow:0 30px 90px rgba(0,0,0,.5); }
.about-story-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(44px,7vw,90px); align-items:start; }
.about-story-grid .quote-box { margin-top:30px; }
.prose-stack p { margin:0; color:#c3bcae; }
.prose-stack p + p { margin-top:24px; }
.about-philosophy { background:linear-gradient(180deg,rgba(201,167,99,.02),rgba(201,167,99,.045),rgba(11,13,10,0)); }
.about-philosophy-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; align-items:stretch; }
.about-philosophy-grid .quote-box { margin:0; display:flex; align-items:center; }
.about-value-list { columns:2; gap:36px; margin:18px 0 0; padding-left:1.2rem; color:#c3bcae; }
.about-value-list li { break-inside:avoid; margin-bottom:10px; }
.about-method-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.about-method-card { min-height:430px; }
.about-method-card .method-number { display:block; color:var(--gold); font:.72rem var(--display); letter-spacing:.2em; margin-bottom:24px; }
.about-method-card p { color:#c0b9ac; }
.about-method-card p + p { margin-top:18px; }
.about-method-card ul { margin:18px 0; padding-left:1.2rem; color:#c0b9ac; }
.about-method-card li + li { margin-top:8px; }
.method-closing { margin-top:24px; padding:18px 20px; border:1px solid rgba(201,167,99,.32); background:rgba(201,167,99,.055); color:#ded4bd; }
.about-value { max-width:960px; }
.about-value > p { color:#c3bcae; }
.about-value-points { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:30px 0; }
.about-value-points span { min-height:110px; display:flex; align-items:center; padding:20px; border:1px solid var(--line); background:linear-gradient(145deg,rgba(27,30,22,.9),rgba(15,17,13,.96)); color:var(--gold-light); }
.about-cta { background:linear-gradient(135deg,#292b1f,#12140f); }
.muted { color:var(--muted); }
.not-found { min-height:65vh; display:grid; place-items:center; text-align:center; }
footer { padding:55px 20px; text-align:center; border-top:1px solid var(--line); color:var(--muted); }
.footer-logo { width:58px; height:58px; object-fit:cover; border-radius:50%; border:1px solid rgba(201,167,99,.55); box-shadow:0 0 24px rgba(201,167,99,.12); }
footer p { margin:8px 0; }
footer small { font-size:.7rem; letter-spacing:.1em; }
.start-hero { min-height:calc(100vh - 76px); display:grid; align-items:center; padding:clamp(70px,9vw,120px) 0; border-bottom:1px solid rgba(201,167,99,.13); position:relative; overflow:hidden; }
.start-hero::after { content:"ᚠ ᚢ ᚦ"; position:absolute; right:-2rem; bottom:-4rem; color:rgba(201,167,99,.05); font-size:9rem; letter-spacing:.18em; white-space:nowrap; }
.start-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(36px,6vw,86px); align-items:center; position:relative; z-index:1; }
.start-hero p:not(.lead), .reading-block p { max-width:820px; color:#bdb8ab; }
.start-logo-panel { min-height:460px; display:grid; place-items:center; border:1px solid var(--line); background:radial-gradient(circle at 50% 45%,rgba(201,167,99,.17),rgba(17,19,15,.94) 66%); }
.start-logo-panel img { width:min(390px,84%); aspect-ratio:1; object-fit:cover; border-radius:50%; border:1px solid rgba(201,167,99,.5); box-shadow:0 30px 90px rgba(0,0,0,.5); }
.reading-block { max-width:960px; }
.quote-box, .warning-box { margin:30px 0; padding:26px 30px; border:1px solid rgba(201,167,99,.4); background:linear-gradient(135deg,rgba(33,36,26,.86),rgba(15,17,13,.9)); color:#ded4bd; font-size:1.05rem; }
.warning-box { border-color:rgba(232,207,145,.55); box-shadow:inset 3px 0 0 var(--gold); }
.warning-box p { margin:0; color:#ded4bd; }
.terminology-note { margin:30px 0; padding:26px 30px; border:1px solid rgba(201,167,99,.42); background:rgba(201,167,99,.065); box-shadow:inset 3px 0 0 rgba(201,167,99,.72); }
.terminology-note .eyebrow { display:block; margin-bottom:10px; }
.terminology-note p { margin:0; color:#d5ccb7; }
.start-card-grid { display:grid; gap:18px; }
.learning-map { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }
.learning-map article { min-height:132px; border:1px solid var(--line); background:linear-gradient(145deg,rgba(27,30,22,.88),rgba(15,17,13,.96)); padding:18px; }
.learning-map span { display:block; color:var(--gold); font:.72rem var(--display); letter-spacing:.18em; margin-bottom:12px; }
.learning-map b { display:block; color:var(--gold-light); font-weight:500; line-height:1.5; }
.learning-map small { display:block; color:var(--muted); margin-top:8px; line-height:1.6; }
.next-step { margin-top:28px; padding:20px 22px; border:1px solid rgba(201,167,99,.3); background:rgba(201,167,99,.055); }
.next-step span { display:block; color:var(--gold); letter-spacing:.2em; font:.72rem var(--display); text-transform:uppercase; margin-bottom:8px; }
.next-step p { margin:0; color:#d1c7ae; }
.next-step .btn { margin-top:16px; }
.overview-tip { max-width:none; margin-top:0; }
.overview-tip p { margin:10px 0 0; }
.overview-aett { margin-top:18px; }
.five-grid { grid-template-columns:repeat(5,1fr); }
.two-grid, .aett-grid { grid-template-columns:repeat(3,1fr); display:grid; gap:18px; }
.two-grid { grid-template-columns:repeat(2,1fr); }
.start-card { min-height:210px; }
.aett-card .eyebrow { display:block; margin-bottom:14px; }
.aett-card h3 { margin:0 0 6px; color:var(--gold-light); }
.aett-card h4 { margin:18px 0 8px; color:#e2d5b6; font-weight:500; }
.aett-runes { color:var(--gold); font-size:.86rem; line-height:1.75; }
.map-note { max-width:960px; }
.step-list { display:grid; gap:14px; }
.learning-step { display:grid; grid-template-columns:130px 1fr; gap:22px; padding:26px; border:1px solid var(--line); background:linear-gradient(145deg,rgba(27,30,22,.92),rgba(15,17,13,.96)); }
.learning-step span { color:var(--gold); letter-spacing:.16em; font:.78rem var(--display); text-transform:uppercase; }
.learning-step h3 { margin:0 0 6px; color:var(--gold-light); }
.learning-step p { margin:0; color:#bcb7aa; }
.rune-detail-nav { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.detail-nav-card { min-height:132px; border:1px solid var(--line); background:linear-gradient(145deg,rgba(27,30,22,.92),rgba(15,17,13,.96)); padding:22px; display:flex; flex-direction:column; justify-content:center; transition:.25s; }
.detail-nav-card:hover { transform:translateY(-2px); border-color:var(--gold); }
.detail-nav-card span { color:var(--gold); letter-spacing:.16em; font:.72rem var(--display); text-transform:uppercase; }
.detail-nav-card b { color:var(--gold-light); font-weight:500; font-size:1.2rem; margin-top:8px; }
.detail-nav-card small { color:var(--muted); margin-top:4px; }
.detail-nav-card.overview { text-align:center; }
.draw-guidance, .self-questions { margin:26px auto; padding:22px 24px; max-width:680px; border:1px solid var(--line); background:rgba(21,23,17,.72); text-align:left; }
.draw-guidance span { display:block; color:var(--gold-light); margin-bottom:8px; }
.draw-guidance p { margin:0; color:#c6bfae; }
.self-questions ul { margin:14px 0 0; padding-left:1.2rem; color:#c6bfae; }
.self-questions li + li { margin-top:8px; }
.daily-reading-cta { max-width:680px; margin:28px auto; padding:28px; border:1px solid rgba(201,167,99,.46); background:linear-gradient(145deg,rgba(35,37,26,.94),rgba(15,17,13,.98)); text-align:left; }
.daily-reading-cta p { margin:12px 0 22px; color:#cbc3b3; }
.daily-reading-cta .btn { width:100%; }
.faq-section { background:linear-gradient(180deg, rgba(11,13,10,0), rgba(201,167,99,.035), rgba(11,13,10,0)); }
.faq-list { display:grid; gap:12px; max-width:980px; margin-inline:auto; }
.faq-item { border:1px solid var(--line); background:linear-gradient(145deg, rgba(27,30,22,.92), rgba(15,17,13,.96)); }
.faq-item h3 { margin:0; font-size:1rem; }
.faq-question { width:100%; border:0; background:transparent; color:var(--ink); display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 26px; text-align:left; cursor:pointer; }
.faq-question span:first-child { color:var(--gold-light); font-size:1.06rem; line-height:1.6; }
.faq-icon { flex:0 0 auto; width:32px; height:32px; display:grid; place-items:center; border:1px solid rgba(201,167,99,.35); color:var(--gold); transition:.2s; }
.faq-item.open .faq-icon { transform:rotate(45deg); background:rgba(201,167,99,.08); }
.faq-answer { padding:0 26px 24px; }
.faq-answer p { margin:0; color:#c4bdae; line-height:1.9; }
.faq-question:focus-visible { outline:2px solid var(--gold-light); outline-offset:3px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.reading-hero { min-height:calc(100vh - 76px); display:grid; align-items:center; position:relative; overflow:hidden; border-bottom:1px solid rgba(201,167,99,.13); }
.reading-hero::after { content:"ᛈ"; position:absolute; right:2vw; top:50%; transform:translateY(-50%); color:rgba(201,167,99,.055); font-size:min(48vw,540px); line-height:1; }
.reading-hero .wrap { position:relative; z-index:1; padding-block:clamp(75px,10vw,120px); }
.reading-hero-copy { max-width:850px; }
.reading-tagline { margin:-8px 0 30px; color:var(--gold-light); font-size:clamp(1.2rem,2.4vw,1.65rem); letter-spacing:.08em; }
.reading-hero-text { max-width:760px; color:#c5bfb1; }
.reading-hero-text p + p { margin-top:20px; }
.service-table-wrap { border:1px solid var(--line); overflow:hidden; }
.service-table { width:100%; border-collapse:collapse; table-layout:fixed; background:linear-gradient(145deg,rgba(27,30,22,.92),rgba(15,17,13,.96)); }
.service-table th, .service-table td { padding:20px 16px; border-right:1px solid rgba(201,167,99,.17); border-bottom:1px solid rgba(201,167,99,.17); text-align:left; vertical-align:top; line-height:1.75; }
.service-table th:last-child, .service-table td:last-child { border-right:0; }
.service-table tbody tr:last-child th, .service-table tbody tr:last-child td { border-bottom:0; }
.service-table thead th { color:var(--gold); font-size:.8rem; letter-spacing:.08em; background:rgba(201,167,99,.065); }
.service-table tbody th { color:var(--gold-light); font-weight:500; }
.service-table td { color:#bbb5a8; font-size:.88rem; }
.service-table strong { display:block; color:var(--gold-light); font-size:1rem; font-weight:500; }
.reading-plan-mobile { display:none; }
.reading-plan-card .plan-price { color:var(--gold-light); font-size:1.35rem; margin:8px 0 20px; }
.reading-plan-card dl { margin:0; }
.reading-plan-card dl div { padding:13px 0; border-top:1px solid rgba(201,167,99,.16); }
.reading-plan-card dt { color:var(--gold); font-size:.75rem; letter-spacing:.1em; }
.reading-plan-card dd { margin:3px 0 0; color:#c4bdae; line-height:1.7; }
.plan-note p { margin:0; }
.plan-note p + p { margin-top:14px; }
.fit-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.fit-card { min-height:100%; }
.fit-card.suitable { box-shadow:inset 3px 0 0 rgba(201,167,99,.65); }
.fit-card.unsuitable { box-shadow:inset 3px 0 0 rgba(154,113,89,.6); }
.fit-card ul { margin:20px 0 0; padding-left:1.25rem; color:#c1bbad; }
.fit-card li + li { margin-top:10px; }
.reading-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; counter-reset:reading-steps; }
.reading-step { min-height:260px; padding:28px; border:1px solid var(--line); background:linear-gradient(145deg,rgba(27,30,22,.92),rgba(15,17,13,.96)); }
.reading-step > span { color:var(--gold); font:.72rem var(--display); letter-spacing:.18em; text-transform:uppercase; }
.reading-step h3 { margin:22px 0 12px; color:var(--gold-light); }
.reading-step p { margin:0; color:#bbb5a8; }
.reading-philosophy { max-width:900px; }
.reading-philosophy > p { color:#c2bcaf; }
.reading-cta { background:linear-gradient(135deg,#292b1f,#12140f); }
.course-hero { min-height:calc(100vh - 76px); display:grid; align-items:center; position:relative; overflow:hidden; border-bottom:1px solid rgba(201,167,99,.16); }
.course-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 82% 45%,rgba(201,167,99,.12),transparent 27rem); pointer-events:none; }
.course-hero-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); gap:70px; align-items:center; padding-block:clamp(76px,10vw,125px); position:relative; z-index:1; }
.course-hero-copy { max-width:820px; }
.course-hero-copy h1 { margin-top:12px; }
.course-hero-copy > p:not(.lead):not(.course-kicker) { max-width:760px; color:#bbb5a8; }
.course-kicker { margin:10px 0 0; color:var(--gold-light); letter-spacing:.18em; }
.course-hero-mark { aspect-ratio:1; display:grid; place-items:center; align-content:center; border:1px solid rgba(201,167,99,.4); border-radius:50%; background:radial-gradient(circle,rgba(201,167,99,.12),rgba(15,17,13,.8) 62%,transparent 63%); box-shadow:0 0 80px rgba(201,167,99,.09); }
.course-hero-mark span { color:var(--gold-light); font-size:clamp(8rem,16vw,13rem); line-height:1; }
.course-hero-mark small { color:var(--gold); letter-spacing:.32em; font-size:.65rem; }
.course-quick-section { background:linear-gradient(180deg,rgba(201,167,99,.04),rgba(11,13,10,.2)); }
.course-quick-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.course-quick-card { min-height:145px; padding:24px; display:flex; flex-direction:column; justify-content:center; border:1px solid var(--line); background:linear-gradient(145deg,rgba(27,30,22,.92),rgba(15,17,13,.96)); }
.course-quick-card span { color:var(--gold); font:.72rem var(--display); letter-spacing:.14em; }
.course-quick-card strong { margin-top:12px; color:#d7d0c0; font-weight:500; line-height:1.7; }
.course-quick-card.wide { grid-column:1/-1; min-height:auto; }
.course-pain-section { background:linear-gradient(180deg,rgba(201,167,99,.035),transparent); }
.course-pain-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.course-pain-card { min-height:170px; padding:26px; border:1px solid var(--line); background:linear-gradient(145deg,rgba(27,30,22,.92),rgba(15,17,13,.96)); }
.course-pain-card span { color:var(--gold); font:.7rem var(--display); letter-spacing:.18em; }
.course-pain-card p { margin:24px 0 0; color:#c4beaf; }
.course-section-note { max-width:920px; margin:34px auto 0; padding:22px 28px; text-align:center; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--gold-light); }
.course-section-note p { margin:0; }
.course-pain-cta { display:flex; justify-content:center; margin-top:28px; }
.course-contrast-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:18px; }
.course-keyword-card dl { margin:24px 0 0; }
.course-keyword-card dl div { display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-top:1px solid rgba(201,167,99,.16); }
.course-keyword-card dt { color:var(--gold-light); font-family:var(--display); letter-spacing:.08em; }
.course-keyword-card dd { margin:0; color:var(--muted); }
.course-question-card blockquote { margin:12px 0 0; padding:10px 15px; border-left:2px solid rgba(201,167,99,.58); color:#d0c8b7; background:rgba(201,167,99,.035); }
.course-reading-summary { max-width:920px; margin:34px auto 0; text-align:center; }
.course-reading-summary p { color:#c2bcaf; }
.course-reading-summary strong { color:var(--gold-light); font-weight:500; }
.course-outcome-section { background:linear-gradient(180deg,rgba(9,11,8,.2),rgba(201,167,99,.035),rgba(9,11,8,.2)); }
.course-check-list { margin:0; padding:0; list-style:none; display:grid; gap:12px; }
.course-check-list li { position:relative; padding:14px 16px 14px 44px; border:1px solid rgba(201,167,99,.18); background:rgba(21,23,17,.64); color:#c5beaf; }
.course-check-list li::before { content:"ᛉ"; position:absolute; left:16px; color:var(--gold); }
.course-outcome-grid .course-check-list { grid-template-columns:1fr 1fr; }
.course-transformation { max-width:940px; margin:34px auto 0; text-align:center; }
.course-transformation p { margin:8px 0 0; }
.course-audience-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:18px; align-items:stretch; }
.course-audience-card h3 { margin-bottom:24px; }
.course-not-for-card { padding:34px; border:1px solid rgba(163,111,82,.36); background:linear-gradient(145deg,rgba(35,27,22,.86),rgba(15,17,13,.96)); }
.course-not-for-card h3 { color:#dfc199; margin:18px 0; }
.course-not-for-card p { color:#bdb4a7; }
.course-feature-section { background:linear-gradient(180deg,transparent,rgba(201,167,99,.025),transparent); }
.course-feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.course-feature-card { min-height:310px; }
.course-feature-card h3 { font-size:1.4rem; }
.course-feature-card p + p { margin-top:16px; }
.course-lessons { display:grid; gap:14px; max-width:980px; margin-inline:auto; }
.course-lesson { display:grid; grid-template-columns:100px 1fr; gap:30px; align-items:center; padding:28px 32px; border:1px solid var(--line); background:linear-gradient(145deg,rgba(27,30,22,.92),rgba(15,17,13,.96)); }
.course-lesson-number { color:rgba(232,207,145,.28); font:500 3.3rem var(--display); line-height:1; }
.course-lesson h3 { margin:8px 0 10px; color:var(--gold-light); }
.course-lesson p { margin:0; color:#bbb5a8; }
.course-inline-cta { max-width:980px; margin:24px auto 0; padding:26px 30px; display:flex; align-items:center; justify-content:space-between; gap:24px; border:1px solid rgba(201,167,99,.42); background:rgba(201,167,99,.055); }
.course-inline-cta p { margin:0; color:#d4cab4; }
.course-inline-cta .btn { flex:0 0 auto; }
.course-consult-section { background:linear-gradient(135deg,rgba(39,42,29,.58),rgba(11,13,10,.2)); }
.course-consult-grid { display:grid; grid-template-columns:1fr 1fr; gap:45px; align-items:center; }
.course-consult-grid > div > p { color:#c2bcaf; max-width:620px; }
.course-consult-card .muted { margin-top:24px; }
.course-faq-section .faq-list { max-width:980px; }
.course-language-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:55px; align-items:center; }
.course-language-grid > div > p { color:#c2bcaf; }
.course-language-card { min-height:390px; display:grid; place-items:center; align-content:center; text-align:center; padding:34px; border:1px solid var(--line); background:radial-gradient(circle,rgba(201,167,99,.1),rgba(15,17,13,.95) 62%); }
.course-language-card .giant-rune { width:180px; border:0; background:none; font-size:8rem; }
.course-language-card p { color:#c9c1b1; max-width:420px; }
.course-journey-section { text-align:center; background:radial-gradient(circle at 50% 45%,rgba(201,167,99,.08),transparent 38rem); }
.course-journey { max-width:900px; }
.course-journey .lead { margin-inline:auto; color:var(--gold-light); }
.course-journey > p:not(.lead) { color:#c4bdaf; }
.course-journey-call { margin:35px 0 0; font-size:1.18rem; letter-spacing:.08em; }
.course-journey .button-row { justify-content:center; }
.course-final-cta { background:linear-gradient(135deg,#313222,#12140f); }
.course-final-cta .lead { max-width:820px; }
@media (max-width: 1080px) {
  .menu-button { display:block; }
  nav { display:none; position:absolute; left:0; right:0; top:76px; max-height:calc(100vh - 76px); overflow-y:auto; padding:22px max(5vw,24px) 28px; flex-direction:column; gap:5px; background:#10120e; border-bottom:1px solid var(--line); }
  nav.open { display:flex; }
  nav a { padding:9px 0; }
}
@media (max-width: 900px) {
  .rune-grid { grid-template-columns:repeat(2,1fr); }
  .learn-grid { grid-template-columns:1fr; }
  .five-grid, .aett-grid, .learning-map { grid-template-columns:1fr; }
  .detail-top { grid-template-columns:190px 1fr; gap:35px; }
  .giant-rune { font-size:7rem; }
  .about-intro { grid-template-columns:1fr; }
  .portrait-mark { min-height:300px; }
  .about-hero-grid, .about-story-grid, .about-philosophy-grid { grid-template-columns:1fr; }
  .about-hero-mark { min-height:340px; }
  .about-method-grid { grid-template-columns:1fr; }
  .about-value-points { grid-template-columns:repeat(2,1fr); }
  .start-hero-grid { grid-template-columns:1fr; }
  .start-logo-panel { min-height:320px; }
  .rune-detail-nav { grid-template-columns:1fr; }
  .reading-steps { grid-template-columns:1fr 1fr; }
  .hero-path-grid { grid-template-columns:1fr; }
  .hero-path-card { min-height:auto; }
  .course-hero-grid { grid-template-columns:1fr; gap:45px; }
  .course-hero-mark { width:min(380px,70vw); margin-inline:auto; }
  .course-quick-grid { grid-template-columns:1fr 1fr; }
  .course-pain-grid { grid-template-columns:1fr 1fr; }
  .course-audience-grid, .course-consult-grid, .course-language-grid { grid-template-columns:1fr; }
  .course-language-card { min-height:320px; }
}
@media (max-width: 760px) {
  .service-table-wrap { display:none; }
  .reading-plan-mobile { display:grid; gap:14px; }
}
@media (max-width: 680px) {
  .site-header { height:68px; }
  .brand-mark { width:40px; height:40px; }
  .menu-button { display:block; }
  nav { display:none; position:absolute; left:0; right:0; top:68px; padding:22px 24px 28px; flex-direction:column; gap:5px; background:#10120e; border-bottom:1px solid var(--line); }
  nav.open { display:flex; }
  nav a { padding:9px 0; }
  h1 { font-size:2.6rem; }
  .hero { min-height:calc(100svh - 68px); }
  .hero::after { right:-18vw; font-size:100vw; }
  .hero .wrap { padding-block:58px; }
  .hero-points span { width:100%; text-align:center; }
  .hero-path-card { padding:22px; }
  .section-head { display:block; }
  .button-row .btn { width:100%; }
  .rune-grid { grid-template-columns:1fr; gap:12px; padding-bottom:70px; }
  .rune-group .rune-grid { padding-bottom:0; }
  .rune-card { min-height:245px; }
  .rune-card .rune-symbol { font-size:4rem; margin:10px 0 2px; }
  .filter-bar { display:block; }
  .rune-group-head { display:block; }
  .rune-group-head p { margin-top:14px; }
  .rune-group + .rune-group { margin-top:62px; padding-top:52px; }
  .detail-top { grid-template-columns:1fr; text-align:center; }
  .giant-rune { width:180px; margin:auto; font-size:7rem; }
  .detail-grid, .service-grid { grid-template-columns:1fr; }
  .two-grid { grid-template-columns:1fr; }
  .fit-grid, .reading-steps { grid-template-columns:1fr; }
  .content-card.feature { grid-column:auto; }
  .daily-stage { min-height:calc(100svh - 68px); }
  .cta { padding:42px 25px; }
  .page-hero { padding-top:65px; }
  .about-hero { min-height:auto; }
  .about-hero-grid { padding-block:58px 70px; }
  .about-hero-mark { min-height:270px; }
  .about-hero-mark img { width:min(300px,84%); }
  .about-value-list { columns:1; }
  .about-method-card { min-height:auto; }
  .about-value-points { grid-template-columns:1fr; }
  .about-value-points span { min-height:auto; }
  .start-hero { min-height:auto; padding:54px 0 66px; }
  .start-logo-panel { min-height:250px; }
  .quote-box, .warning-box { padding:22px; }
  .learning-step { grid-template-columns:1fr; gap:8px; padding:22px; }
  .learning-map article { min-height:auto; }
  .draw-guidance, .self-questions { padding:20px; }
  .faq-question { padding:20px; }
  .faq-question span:first-child { font-size:1rem; }
  .faq-answer { padding:0 20px 22px; }
  .reading-hero { min-height:auto; }
  .reading-hero::after { right:-18vw; font-size:100vw; }
  .reading-hero .wrap { padding-block:58px 70px; }
  .reading-tagline { margin-top:-4px; }
  .reading-step { min-height:auto; padding:24px; }
  .course-hero { min-height:auto; }
  .course-hero-grid { padding-block:58px 70px; }
  .course-hero-mark { width:min(270px,78vw); }
  .course-hero-mark span { font-size:8rem; }
  .course-quick-grid { grid-template-columns:1fr; }
  .course-quick-card.wide { grid-column:auto; }
  .course-pain-grid, .course-feature-grid, .course-outcome-grid .course-check-list { grid-template-columns:1fr; }
  .course-pain-card { min-height:auto; }
  .course-contrast-grid { grid-template-columns:1fr; }
  .course-lesson { grid-template-columns:1fr; gap:12px; padding:24px; }
  .course-lesson-number { font-size:2.4rem; }
  .course-inline-cta { display:block; padding:24px; }
  .course-inline-cta .btn { width:100%; margin-top:18px; }
  .course-language-card { min-height:270px; }
  .course-language-card .giant-rune { font-size:6.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition:none !important; }
}
