:root {
    --bg: #0b0714;
    --bg-deep: #07050d;
    --bg-soft: #120c20;
    --surface: #181027;
    --surface-2: #201532;
    --surface-3: #2a1c3d;
    --gold: #d8b76d;
    --gold-light: #f1dca2;
    --cream: #f8f0df;
    --text: #f7f1e6;
    --muted: #bcb2c8;
    --border: rgba(216,183,109,.24);
    --border-strong: rgba(216,183,109,.55);
    --blue: #6fa9c8;
    --green: #86a978;
    --orange: #c98256;
    --violet: #8f73b4;
    --danger: #c47d87;
    --radius: 24px;
    --radius-sm: 15px;
    --shadow: 0 30px 90px rgba(0,0,0,.36);
    --container: 1220px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body {
    margin: 0;
    min-width: 320px;
    background:
        radial-gradient(circle at 10% -5%, rgba(103,68,153,.22), transparent 34rem),
        radial-gradient(circle at 90% 22%, rgba(77,104,144,.12), transparent 30rem),
        var(--bg);
    color: var(--text);
    font-family: Inter, system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.72;
    -webkit-font-smoothing: antialiased;
}
body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: .15;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Ccircle cx='18' cy='22' r='1' fill='%23d8b76d'/%3E%3Ccircle cx='105' cy='64' r='.7' fill='%23f1dca2'/%3E%3Ccircle cx='58' cy='122' r='.8' fill='%238f73b4'/%3E%3C/svg%3E");
    z-index: -1;
}
img { max-width: 100%; height: auto; }
a { color: var(--gold-light); text-decoration: none; }
a:hover { color: #fff3c8; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
.container { width: min(var(--container), calc(100% - 42px)); margin-inline: auto; }
.narrow { width: min(850px, 100%); }
.prose { font-size: 1.045rem; }
.center { text-align: center; margin-top: 2rem; }
.muted { color: var(--muted); }
.skip-link { position: fixed; left: 12px; top: -100px; z-index: 999; padding: .75rem 1rem; background: var(--gold); color: #150d21; border-radius: 8px; }
.skip-link:focus { top: 12px; }

h1, h2, h3 { font-family: "Cormorant Garamond", Georgia, serif; line-height: 1.04; margin: 0 0 1rem; }
h1 { font-size: clamp(3.2rem, 7vw, 6.75rem); letter-spacing: -.045em; }
h2 { font-size: clamp(2.35rem, 4.3vw, 4.15rem); letter-spacing: -.025em; }
h3 { font-size: clamp(1.55rem, 2vw, 2rem); }
p { margin: 0 0 1.15rem; }
.lead { max-width: 760px; color: var(--muted); font-size: clamp(1.08rem, 1.7vw, 1.28rem); line-height: 1.72; }
.eyebrow { display: inline-flex; align-items: center; gap: .65rem; margin-bottom: .85rem; color: var(--gold); font-size: .76rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 28px; height: 1px; background: var(--gold); }
.section-index { display: block; color: var(--gold); font-family: Inter, sans-serif; font-size: .78rem; font-weight: 700; letter-spacing: .16em; margin-bottom: .6rem; }

.button { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 50px; padding: .82rem 1.35rem; border: 1px solid var(--gold); border-radius: 999px; background: linear-gradient(135deg, #e2c47d, #ae8340); color: #170e22; font-weight: 800; cursor: pointer; box-shadow: 0 9px 28px rgba(216,183,109,.13); transition: transform .2s ease, filter .2s ease, box-shadow .2s ease; }
.button:hover { color: #170e22; filter: brightness(1.06); transform: translateY(-2px); box-shadow: 0 15px 34px rgba(216,183,109,.18); }
.button:disabled { opacity: .42; cursor: not-allowed; transform: none; }
.button-secondary { background: rgba(216,183,109,.04); color: var(--gold-light); }
.button-secondary:hover { color: white; }
.button-small { min-height: 40px; padding: .55rem 1rem; }
.button-row { display: flex; align-items: center; flex-wrap: wrap; gap: .8rem; margin-top: 1.8rem; }
.centered-buttons { justify-content: center; }
.text-link { display: inline-flex; align-items: center; gap: .5rem; font-weight: 700; }
.text-link span { transition: transform .2s ease; }
.text-link:hover span { transform: translateX(4px); }
.badge { display: inline-flex; align-items: center; width: fit-content; padding: .35rem .65rem; border: 1px solid var(--border); border-radius: 999px; background: rgba(216,183,109,.08); color: var(--gold-light); font-size: .76rem; font-weight: 700; }
.badge-large { padding: .5rem .85rem; margin-bottom: 1.1rem; }
.panel { border: 1px solid var(--border); border-radius: var(--radius); background: linear-gradient(145deg, rgba(34,23,52,.92), rgba(18,12,32,.95)); box-shadow: 0 18px 52px rgba(0,0,0,.18); }
.section { padding: 6.4rem 0; }
.section-soft { border-block: 1px solid rgba(216,183,109,.08); background: rgba(255,255,255,.022); }
.section-heading { max-width: 780px; margin-bottom: 2.5rem; }
.centered-heading { margin-inline: auto; text-align: center; }
.centered-heading .eyebrow { justify-content: center; }
.centered-heading .eyebrow::after { content: ""; width: 28px; height: 1px; background: var(--gold); }
.centered-heading p { margin-inline: auto; color: var(--muted); }

.site-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid rgba(216,183,109,.12); background: rgba(8,5,14,.88); backdrop-filter: blur(20px); }
.header-inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; }
.brand { display: inline-flex; align-items: center; flex-shrink: 0; }
.brand img { display: block; width: 232px; height: auto; }
.main-menu { display: flex; align-items: center; gap: 1.3rem; }
.main-menu > a:not(.button), .nav-group-toggle { border: 0; background: transparent; color: var(--muted); cursor: pointer; font-size: .94rem; }
.main-menu > a:hover, .nav-group-toggle:hover { color: var(--text); }
.nav-group { position: relative; }
.nav-group-toggle { display: flex; gap: .35rem; align-items: center; padding: 1rem 0; }
.nav-dropdown { position: absolute; left: -1rem; top: calc(100% - 4px); width: 290px; padding: .7rem; border: 1px solid var(--border); border-radius: 17px; background: rgba(17,11,29,.98); box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translateY(8px); transition: .2s ease; }
.nav-group:hover .nav-dropdown, .nav-group:focus-within .nav-dropdown, .nav-group.is-open .nav-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.nav-dropdown a { display: block; padding: .75rem .8rem; border-radius: 11px; color: var(--text); font-weight: 600; }
.nav-dropdown a:hover { background: var(--surface-2); }
.nav-dropdown small { display: block; color: var(--muted); font-weight: 400; margin-top: .1rem; }
.menu-toggle { display: none; align-items: center; justify-content: center; flex-direction: column; width: 46px; height: 46px; border: 1px solid var(--border); border-radius: 13px; background: var(--surface); cursor: pointer; }
.menu-toggle span { width: 19px; height: 1px; background: var(--gold-light); margin: 2.5px 0; }
.menu-toggle b { display: none; }

.hero { position: relative; overflow: hidden; }
.home-hero { min-height: 760px; padding: 7.5rem 0 6rem; display: flex; align-items: center; }
.hero-orbit { position: absolute; width: 900px; height: 600px; right: -190px; top: 30px; background: url('../images/hero-orbit.svg') center/contain no-repeat; opacity: .48; pointer-events: none; }
.hero-grid { display: grid; grid-template-columns: 1.06fr .94fr; align-items: center; gap: 4.5rem; position: relative; z-index: 2; }
.hero-copy { max-width: 720px; }
.hero-copy h1 { max-width: 690px; }
.hero-facts { display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; margin-top: 2rem; color: var(--muted); font-size: .88rem; }
.hero-facts span { display: flex; align-items: baseline; gap: .35rem; }
.hero-facts b { color: var(--gold-light); font-family: "Cormorant Garamond"; font-size: 1.5rem; }
.hero-deck { position: relative; min-height: 590px; perspective: 1600px; }
.hero-card, .hero-deck-back { position: absolute; width: 250px; border-radius: 18px; box-shadow: 0 35px 75px rgba(0,0,0,.4); transition: transform .35s ease; }
.hero-card-1 { left: 8%; top: 110px; transform: rotate(-15deg); }
.hero-card-2 { left: 29%; top: 45px; z-index: 3; transform: rotate(-2deg); }
.hero-card-3 { right: 1%; top: 110px; z-index: 2; transform: rotate(14deg); }
.hero-deck-back { left: 34%; top: 90px; z-index: 1; transform: translateY(40px) rotate(4deg); opacity: .55; }
.hero-deck:hover .hero-card-1 { transform: rotate(-18deg) translate(-10px,-8px); }
.hero-deck:hover .hero-card-2 { transform: rotate(-1deg) translateY(-12px); }
.hero-deck:hover .hero-card-3 { transform: rotate(18deg) translate(10px,-6px); }

.section-readings { padding-top: 5rem; }
.reading-groups { display: grid; gap: 3rem; }
.reading-group { display: grid; gap: 1.25rem; }
.group-label { display: flex; align-items: center; gap: .8rem; }
.group-label strong, .group-label small { display: block; }
.group-label small { color: var(--muted); margin-top: .15rem; }
.status-dot { width: 13px; height: 13px; border-radius: 50%; box-shadow: 0 0 0 8px rgba(216,183,109,.07); }
.status-dot.daily { background: var(--blue); }
.status-dot.weekly { background: var(--gold); }
.reading-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.compact-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.reading-card { min-height: 260px; padding: 1.45rem; display: flex; flex-direction: column; align-items: flex-start; overflow: hidden; position: relative; }
.reading-card::after { content: ""; position: absolute; width: 180px; height: 180px; right: -80px; bottom: -95px; border: 1px solid var(--border); border-radius: 50%; }
.reading-card p { color: var(--muted); }
.reading-card .text-link { margin-top: auto; }
.reading-card-top { width: 100%; display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.card-count-symbol { color: rgba(216,183,109,.45); letter-spacing: .15em; font-size: .72rem; }
.reading-icon { width: 82px; flex-shrink: 0; margin-right: 1.15rem; }
.reading-icon img { border-radius: 8px; box-shadow: 0 12px 28px rgba(0,0,0,.3); }
.compact-grid .reading-card { flex-direction: row; min-height: 230px; }

.process-line { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; counter-reset: process; }
.process-line article { position: relative; padding: 1.4rem 1.5rem 1.2rem 0; border-top: 1px solid var(--border); }
.process-line article:not(:last-child)::after { content: ""; position: absolute; right: 0; top: -5px; width: 9px; height: 9px; border: 1px solid var(--gold); background: var(--bg-soft); border-radius: 50%; }
.process-line span { display: inline-block; margin-bottom: 1rem; color: var(--gold); font-size: .78rem; font-weight: 700; letter-spacing: .15em; }
.process-line h3 { font-size: 1.65rem; }
.process-line p { color: var(--muted); font-size: .92rem; }

.limits-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 5rem; align-items: center; }
.limits-visual { position: relative; min-height: 670px; display: grid; place-items: center; }
.limits-visual::before, .limits-visual::after { content: ""; position: absolute; border: 1px solid rgba(216,183,109,.17); border-radius: 50%; }
.limits-visual::before { width: 570px; height: 570px; }
.limits-visual::after { width: 430px; height: 430px; }
.limits-visual img { width: 310px; position: relative; z-index: 2; filter: drop-shadow(0 35px 55px rgba(0,0,0,.35)); }
.orbit-label { position: absolute; z-index: 3; padding: .45rem .75rem; border: 1px solid var(--border); border-radius: 999px; background: var(--bg-soft); color: var(--gold-light); font-size: .78rem; font-weight: 600; }
.orbit-one { left: 2%; top: 24%; }
.orbit-two { right: 0; top: 48%; }
.orbit-three { left: 10%; bottom: 16%; }
.limit-comparison { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; margin: 2rem 0; }
.limit-comparison > div { padding: 1.35rem; border: 1px solid var(--border); border-radius: 17px; background: rgba(216,183,109,.035); }
.limit-comparison strong, .limit-comparison span, .limit-comparison b { display: block; }
.limit-comparison span { color: var(--muted); margin: .5rem 0 1rem; font-size: .9rem; }
.limit-comparison b { color: var(--gold-light); font-size: .88rem; }

.section-cards-showcase { overflow: hidden; }
.card-fan { position: relative; height: 470px; margin: 1.5rem auto 4rem; max-width: 900px; }
.fan-card { position: absolute; left: 50%; top: 35px; width: 220px; transform-origin: 50% 120%; transition: .25s ease; }
.fan-card img { border-radius: 15px; box-shadow: 0 30px 65px rgba(0,0,0,.38); }
.fan-1 { transform: translateX(-50%) rotate(-27deg) translateX(-240px); }
.fan-2 { transform: translateX(-50%) rotate(-17deg) translateX(-145px); }
.fan-3 { transform: translateX(-50%) rotate(-7deg) translateX(-48px); }
.fan-4 { transform: translateX(-50%) rotate(7deg) translateX(48px); }
.fan-5 { transform: translateX(-50%) rotate(17deg) translateX(145px); }
.fan-6 { transform: translateX(-50%) rotate(27deg) translateX(240px); }
.fan-card:hover { z-index: 20; top: 5px; }
.arcana-panels { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
.arcana-panel { display: flex; align-items: center; gap: 1.5rem; padding: 1.7rem; color: var(--text); }
.arcana-panel:hover { border-color: var(--border-strong); }
.large-number { color: var(--gold); font-family: "Cormorant Garamond"; font-size: 5rem; line-height: .8; }
.arcana-panel p { color: var(--muted); }
.large-panels { margin-bottom: 1.25rem; }

.spread-guide-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 5rem; align-items: center; }
.spread-scale { display: grid; gap: .85rem; }
.scale-row { display: grid; grid-template-columns: 125px 1fr 170px; align-items: center; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid rgba(216,183,109,.1); }
.scale-row > span { font-weight: 700; }
.scale-row small { color: var(--muted); text-align: right; }
.scale-dots { display: flex; gap: .32rem; }
.scale-dots i { display: block; width: 13px; height: 20px; border: 1px solid var(--gold); border-radius: 3px; background: rgba(216,183,109,.09); }

.editorial-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.editorial-card { min-height: 300px; padding: 1.6rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); color: var(--text); display: flex; flex-direction: column; }
.editorial-card.featured { grid-row: span 2; min-height: 616px; background: linear-gradient(160deg, rgba(54,35,76,.95), rgba(18,12,32,.98)), url('../images/hero-orbit.svg') center/cover; }
.editorial-card span { color: var(--gold); text-transform: uppercase; letter-spacing: .15em; font-size: .72rem; font-weight: 700; }
.editorial-card h3 { margin-top: 1.1rem; }
.editorial-card p { color: var(--muted); }
.editorial-card b { margin-top: auto; color: var(--gold-light); }
.editorial-card:hover { border-color: var(--border-strong); transform: translateY(-3px); }

.shop-panel { display: grid; grid-template-columns: .72fr 1.28fr; gap: 4rem; align-items: center; padding: 3rem; border: 1px solid var(--border); border-radius: 30px; background: linear-gradient(135deg, rgba(46,30,67,.95), rgba(17,11,29,.98)); overflow: hidden; }
.shop-art { position: relative; height: 380px; }
.shop-art img { position: absolute; width: 205px; border-radius: 14px; box-shadow: 0 25px 60px rgba(0,0,0,.4); }
.shop-art img:first-child { left: 15%; top: 25px; transform: rotate(-12deg); }
.shop-art img:last-child { left: 42%; top: -5px; transform: rotate(10deg); }

.faq-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 5rem; align-items: start; }
.faq-list { display: grid; gap: .8rem; }
.faq-list details { padding: 1.15rem 1.25rem; border: 1px solid var(--border); border-radius: 15px; background: var(--surface); }
.faq-list summary { cursor: pointer; font-weight: 700; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.faq-list summary::after { content: "+"; color: var(--gold); font-size: 1.3rem; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list p { color: var(--muted); margin: .85rem 0 0; }

.final-cta { position: relative; padding: 7rem 0; text-align: center; border-top: 1px solid rgba(216,183,109,.1); background: radial-gradient(circle at 50% 50%, rgba(84,55,119,.24), transparent 34rem), var(--bg-deep); }
.final-cta img { margin-bottom: 1rem; }
.final-cta h2 { max-width: 850px; margin-inline: auto; }
.final-cta p { max-width: 620px; margin-inline: auto; color: var(--muted); }

.page-hero { position: relative; padding: 6.5rem 0 4.5rem; overflow: hidden; }
.page-hero::after { content: ""; position: absolute; right: -240px; top: -180px; width: 650px; height: 650px; border: 1px solid rgba(216,183,109,.1); border-radius: 50%; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.2rem; color: var(--muted); font-size: .84rem; }
.breadcrumbs a { color: var(--muted); }
.breadcrumbs a:hover { color: var(--gold-light); }
.hub-hero, .archive-hero, .static-hero { background: linear-gradient(180deg, rgba(45,29,66,.32), transparent); }

.reading-page-hero { min-height: 520px; display: flex; align-items: center; }
.reading-page-hero .narrow { margin-left: max(0px, calc((100% - var(--container))/2)); position: relative; z-index: 2; }
.reading-hero-symbol { position: absolute; right: max(7vw, calc((100vw - var(--container))/2)); top: 70px; opacity: .72; transform: rotate(10deg); }
.reading-hero-symbol img { border-radius: 14px; box-shadow: 0 30px 75px rgba(0,0,0,.4); }
.reading-meta { display: flex; flex-wrap: wrap; gap: .7rem 1.4rem; margin-top: 1.7rem; }
.reading-meta span { color: var(--muted); font-size: .87rem; }
.reading-meta b { color: var(--gold-light); margin-right: .25rem; }
.reading-container { max-width: 1060px; }
.reading-stage-section { padding-top: 3rem; }
.reading-instruction { display: flex; gap: 1.2rem; align-items: flex-start; padding: 1.2rem 1.35rem; margin-bottom: 1rem; }
.reading-instruction p { margin: 0; color: var(--muted); }
.step-number { flex-shrink: 0; color: var(--gold); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.reading-form { padding: 1.6rem; }
.reading-form label { display: block; margin-bottom: .5rem; font-weight: 700; }
textarea, select { width: 100%; border: 1px solid var(--border); border-radius: 14px; background: #0e0918; color: var(--text); padding: .95rem 1rem; outline: none; }
textarea { min-height: 130px; resize: vertical; }
textarea:focus, select:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(216,183,109,.08); }
select { margin-bottom: 1rem; }
.field-help { display: flex; justify-content: space-between; color: var(--muted); font-size: .78rem; margin: .4rem 0 1rem; }
.shuffle-button { margin-top: .4rem; }
.shuffle-icon { display: inline-block; font-size: 1.2rem; }
.shuffle-button.is-shuffling .shuffle-icon { animation: rotate .6s linear infinite; }
.deck-zone { margin-top: 2rem; }
.deck-zone-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-bottom: 1.3rem; }
.selection-counter { padding: .5rem .75rem; border: 1px solid var(--border); border-radius: 999px; color: var(--muted); font-size: .84rem; }
.selection-counter b { color: var(--gold-light); }
.deck-selection { display: flex; justify-content: center; align-items: flex-end; gap: 0; min-height: 340px; padding: 2rem 1rem 1rem; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; }
.select-card { position: relative; flex: 0 0 115px; margin-left: -42px; border: 0; background: transparent; padding: 0; cursor: pointer; transform-origin: 50% 120%; transition: transform .22s ease, filter .22s ease; }
.select-card:first-child { margin-left: 0; }
.select-card:nth-child(odd) { transform: translateY(8px) rotate(-1deg); }
.select-card:nth-child(even) { transform: translateY(-2px) rotate(1deg); }
.select-card img { display: block; width: 115px; border-radius: 8px; box-shadow: 0 14px 28px rgba(0,0,0,.28); pointer-events: none; }
.select-card:hover { z-index: 5; transform: translateY(-18px) rotate(0); filter: brightness(1.08); }
.select-card.is-selected { z-index: 8; transform: translateY(-35px) rotate(0); }
.selected-marker { position: absolute; right: 5px; top: 5px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--gold); color: #150d21; font-weight: 900; opacity: 0; transform: scale(.5); transition: .2s ease; }
.select-card.is-selected .selected-marker { opacity: 1; transform: scale(1); }
.selection-status { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.2rem 0 0; border-top: 1px solid rgba(216,183,109,.1); }
.selection-status p { margin: 0; color: var(--muted); font-size: .88rem; }
.notice { padding: 1rem 1.2rem; border-radius: 14px; margin: 1rem 0; }
.notice-warning { border: 1px solid rgba(196,125,135,.48); background: rgba(196,125,135,.1); }
.notice-info { border: 1px solid var(--border); background: rgba(216,183,109,.07); }
.active-reading-banner { display: grid; grid-template-columns: 1fr auto; gap: .5rem 1.5rem; align-items: center; padding: 1.2rem 1.35rem; border: 1px solid var(--border-strong); border-radius: 17px; background: rgba(216,183,109,.08); margin-bottom: 1.5rem; }
.active-reading-banner strong, .active-reading-banner span { display: block; }
.active-reading-banner span { color: var(--muted); font-size: .88rem; }
.active-reading-banner .reading-date { text-align: right; color: var(--gold-light); font-weight: 700; }
.result-list { display: grid; gap: 1.2rem; }
.result-card { display: grid; grid-template-columns: 220px 1fr; gap: 2rem; align-items: center; padding: 1.5rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); opacity: 0; transform: translateY(20px); animation: revealResult .55s forwards; }
.result-card:nth-child(2) { animation-delay: .1s; }.result-card:nth-child(3) { animation-delay: .2s; }.result-card:nth-child(4) { animation-delay: .3s; }.result-card:nth-child(5) { animation-delay: .4s; }.result-card:nth-child(n+6) { animation-delay: .5s; }
.result-visual-wrap { perspective: 1200px; }
.result-visual { width: 210px; transition: transform .4s ease; filter: drop-shadow(0 22px 38px rgba(0,0,0,.32)); }
.result-visual.is-reversed { transform: rotate(180deg); }
.result-copy h2 { margin-bottom: .35rem; }
.result-copy .orientation-label { display: inline-flex; padding: .25rem .55rem; border-radius: 999px; background: rgba(216,183,109,.08); color: var(--muted); font-size: .76rem; margin-bottom: .85rem; }
.yes-no-answer { margin-top: 1rem; padding: .9rem 1rem; border-left: 3px solid var(--gold); background: rgba(216,183,109,.06); }
.result-card-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1rem; }
.result-card-actions a { font-size: .86rem; font-weight: 700; }
.reading-summary { padding: 1.5rem; margin-top: 1.4rem; }
.reading-summary ul { margin: 0; padding-left: 1.2rem; }
.reading-summary li { margin-bottom: .6rem; color: var(--muted); }
.saved-question { margin-bottom: 1rem; padding: 1rem 1.2rem; border: 1px solid rgba(216,183,109,.12); border-radius: 14px; color: var(--muted); }
.saved-question strong { color: var(--text); }

.positions-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.positions-1 { grid-template-columns: minmax(0,680px); }
.positions-5 { grid-template-columns: repeat(5,1fr); }
.position-card { padding: 1.3rem; border-top: 1px solid var(--gold); background: linear-gradient(180deg, rgba(216,183,109,.05), transparent); }
.position-card > span { color: var(--gold); font-size: .72rem; font-weight: 700; letter-spacing: .14em; }
.position-card h3 { margin-top: .6rem; font-size: 1.55rem; }
.position-card p { color: var(--muted); font-size: .88rem; }
.split-content { display: grid; grid-template-columns: 1.1fr .9fr; gap: 5rem; align-items: start; }
.interpretation-stack { display: grid; grid-template-columns: repeat(2,1fr); gap: .8rem; }
.interpretation-stack .panel { padding: 1rem; }
.interpretation-stack span, .interpretation-stack strong, .interpretation-stack small { display: block; }
.interpretation-stack span { color: var(--gold); font-family: "Cormorant Garamond"; font-size: 2rem; }
.interpretation-stack small { color: var(--muted); margin-top: .2rem; }

.spread-catalog { display: grid; gap: 1rem; }
.spread-catalog-card { display: grid; grid-template-columns: 180px 1fr; gap: 2rem; padding: 1.7rem; align-items: center; }
.spread-number { min-height: 180px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid var(--border); border-radius: 18px; background: radial-gradient(circle, rgba(216,183,109,.1), transparent 70%); }
.spread-number b { color: var(--gold); font-family: "Cormorant Garamond"; font-size: 6rem; line-height: .8; }
.spread-number span { color: var(--muted); }
.position-preview { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0 1.4rem; }
.position-preview span { padding: .35rem .6rem; border-radius: 999px; background: rgba(216,183,109,.06); color: var(--muted); font-size: .76rem; }
.checklist { padding: 1.6rem; }
.checklist li { margin-bottom: .6rem; color: var(--muted); }

.cards-hub-hero { min-height: 640px; display: flex; align-items: center; }
.cards-hub-hero .narrow { margin-left: max(0px, calc((100% - var(--container))/2)); position: relative; z-index: 2; max-width: 700px; }
.cards-hub-fan { position: absolute; right: 3vw; width: 560px; height: 500px; top: 70px; }
.cards-hub-fan img { position: absolute; width: 185px; border-radius: 12px; box-shadow: 0 22px 50px rgba(0,0,0,.34); }
.hub-fan-1 { left: 0; top: 120px; transform: rotate(-20deg); }.hub-fan-2 { left: 90px; top: 65px; transform: rotate(-10deg); }.hub-fan-3 { left: 185px; top: 35px; z-index: 3; }.hub-fan-4 { left: 280px; top: 65px; transform: rotate(10deg); }.hub-fan-5 { left: 370px; top: 120px; transform: rotate(20deg); }
.suit-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; }
.suit-card { min-height: 235px; display: flex; flex-direction: column; padding: 1.35rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); color: var(--text); }
.suit-card small { color: var(--muted); }.suit-card p { color: var(--muted); }.suit-card b { margin-top: auto; color: var(--gold-light); }
.suit-symbol { display: block; width: 45px; height: 45px; margin-bottom: 1rem; border: 2px solid currentColor; border-radius: 50%; }
.suit-cupe { color: var(--blue); }.suit-spade { color: #a6a8bf; }.suit-bate { color: var(--orange); }.suit-monede { color: var(--green); }
.cards-catalog { display: grid; grid-template-columns: repeat(5,1fr); gap: 1rem; }
.catalog-card { display: flex; flex-direction: column; color: var(--text); border-radius: 18px; overflow: hidden; background: var(--surface); border: 1px solid rgba(216,183,109,.12); transition: transform .2s ease, border-color .2s ease; }
.catalog-card:hover { transform: translateY(-5px); border-color: var(--border-strong); }
.catalog-card img { width: 100%; aspect-ratio: 3/5; object-fit: cover; background: var(--bg-soft); }
.catalog-card > div { padding: .85rem .9rem 1rem; }
.catalog-card strong, .catalog-card small { display: block; }
.catalog-card small { color: var(--muted); font-size: .75rem; margin-top: .1rem; }
.catalog-card p { color: var(--muted); font-size: .75rem; margin: .65rem 0 0; }
.archive-catalog { grid-template-columns: repeat(4,1fr); }

.card-page-hero { position: relative; padding: 6rem 0 5rem; overflow: hidden; }
.card-page-orbit { position: absolute; right: -200px; top: -180px; width: 740px; height: 740px; border: 1px solid rgba(216,183,109,.11); border-radius: 50%; box-shadow: inset 0 0 0 90px rgba(216,183,109,.015), inset 0 0 0 180px rgba(216,183,109,.012); }
.card-hero-grid { display: grid; grid-template-columns: 430px 1fr; gap: 5rem; align-items: center; position: relative; z-index: 2; }
.card-image-stage { text-align: center; }
.card-image-stage img { width: 390px; border-radius: 20px; filter: drop-shadow(0 35px 65px rgba(0,0,0,.44)); }
.orientation-hint { display: block; color: var(--muted); font-size: .75rem; margin-top: 1rem; }
.english-name { color: var(--gold-light); font-family: "Cormorant Garamond"; font-size: 1.55rem; margin-top: -1rem; }
.keyword-pills { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.3rem 0; }
.keyword-pills span { padding: .35rem .65rem; border: 1px solid var(--border); border-radius: 999px; color: var(--muted); font-size: .76rem; }
.card-quick-data { display: grid; grid-template-columns: repeat(3,1fr); gap: .7rem; margin-top: 1.7rem; }
.card-quick-data > div { padding: .9rem; border-top: 1px solid var(--border); }
.card-quick-data small, .card-quick-data strong { display: block; }
.card-quick-data small { color: var(--muted); font-size: .72rem; margin-bottom: .25rem; }
.card-anchor-nav { position: sticky; top: 82px; z-index: 40; border-block: 1px solid rgba(216,183,109,.12); background: rgba(10,7,17,.9); backdrop-filter: blur(15px); }
.card-anchor-nav .container { display: flex; align-items: center; gap: 1.3rem; overflow-x: auto; }
.card-anchor-nav a { flex: 0 0 auto; padding: .85rem 0; color: var(--muted); font-size: .83rem; }
.card-anchor-nav a:hover { color: var(--gold-light); }
.article-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 4.5rem; align-items: start; }
.card-prose { max-width: 790px; }
.card-prose > section, .static-prose > section { margin-bottom: 4.2rem; }
.card-prose p, .static-prose p { color: #d4cbd8; }
.meaning-callout { padding: 1rem 1.2rem; border-left: 3px solid var(--gold); background: rgba(216,183,109,.05); }
.meaning-callout strong, .meaning-callout span { display: block; }
.meaning-callout span { color: var(--muted); margin-top: .25rem; }
.comparison-table { display: grid; grid-template-columns: repeat(2,1fr); gap: .8rem; margin-top: 1.4rem; }
.comparison-table > div { padding: 1rem; border: 1px solid var(--border); border-radius: 14px; }
.comparison-table small, .comparison-table strong { display: block; }
.comparison-table small { color: var(--gold); margin-bottom: .3rem; }
.inline-cta { display: block; padding: 1.1rem 1.2rem; margin-top: 1.4rem; border: 1px solid var(--border); border-radius: 15px; background: var(--surface); }
.inline-cta span, .inline-cta strong { display: block; }
.inline-cta span { color: var(--muted); font-size: .75rem; margin-bottom: .25rem; }
.yes-no-large { display: inline-flex; flex-direction: column; padding: 1rem 1.5rem; margin: .5rem 0 1.2rem; border: 1px solid var(--border-strong); border-radius: 15px; background: rgba(216,183,109,.07); }
.yes-no-large span { color: var(--muted); font-size: .75rem; }.yes-no-large strong { color: var(--gold-light); font-family: "Cormorant Garamond"; font-size: 2.3rem; }
.article-sidebar { min-width: 0; }
.sticky-card-info { position: sticky; top: 148px; padding: 1.2rem; }
.sticky-card-info > img { display: block; width: 190px; margin: 0 auto 1rem; border-radius: 12px; box-shadow: 0 20px 42px rgba(0,0,0,.3); }
.sticky-card-info ul { list-style: none; margin: 1rem 0; padding: 0; }
.sticky-card-info li { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid rgba(216,183,109,.1); font-size: .84rem; }
.sticky-card-info li span { color: var(--muted); }
.sticky-card-info .button { width: 100%; }
.previous-next { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
.previous-next a { padding: 1.3rem; border: 1px solid var(--border); border-radius: 15px; background: var(--surface); color: var(--text); }
.previous-next a:last-child { text-align: right; }
.previous-next span, .previous-next strong { display: block; }
.previous-next span { color: var(--muted); font-size: .78rem; margin-bottom: .3rem; }

.static-prose { max-width: 790px; }
.guide-sidebar .sidebar-link { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid rgba(216,183,109,.1); color: var(--text); font-size: .86rem; }
.error-page { min-height: 760px; display: flex; align-items: center; text-align: center; }
.error-page img { width: 190px; border-radius: 12px; margin-bottom: 1rem; }
.error-page .lead { margin-inline: auto; }

.site-footer { position: relative; overflow: hidden; padding: 5rem 0 1.5rem; border-top: 1px solid rgba(216,183,109,.1); background: var(--bg-deep); }
.footer-orbit { position: absolute; left: -260px; bottom: -360px; width: 720px; height: 720px; border: 1px solid rgba(216,183,109,.08); border-radius: 50%; box-shadow: inset 0 0 0 110px rgba(216,183,109,.012), inset 0 0 0 220px rgba(216,183,109,.01); }
.footer-grid { display: grid; grid-template-columns: 1.45fr repeat(4,1fr); gap: 2rem; position: relative; z-index: 2; }
.footer-brand p { color: var(--muted); max-width: 330px; }
.footer-note { display: block; max-width: 320px; color: var(--gold-light); font-size: .82rem; }
.footer-grid h2 { font-size: 1.35rem; }
.footer-grid a:not(.brand) { display: block; margin-bottom: .55rem; color: var(--muted); font-size: .88rem; }
.footer-grid a:hover { color: var(--gold-light); }
.footer-bottom { position: relative; z-index: 2; display: flex; justify-content: space-between; gap: 1.5rem; margin-top: 3rem; padding-top: 1.2rem; border-top: 1px solid rgba(216,183,109,.1); color: var(--muted); font-size: .78rem; }
.footer-bottom p { margin: 0; }

@keyframes rotate { to { transform: rotate(360deg); } }
@keyframes revealResult { to { opacity: 1; transform: translateY(0); } }
@keyframes shuffleCard { 0%{transform:translateX(0) rotate(0)}50%{transform:translateX(var(--shuffle-x,15px)) rotate(var(--shuffle-r,3deg))}100%{transform:translateX(0) rotate(0)} }

@media (max-width: 1100px) {
    .main-menu { gap: .9rem; }
    .hero-grid, .card-hero-grid { gap: 2.5rem; }
    .hero-card, .hero-deck-back { width: 210px; }
    .cards-catalog { grid-template-columns: repeat(4,1fr); }
    .positions-5 { grid-template-columns: repeat(3,1fr); }
    .footer-grid { grid-template-columns: 1.4fr repeat(2,1fr); }
    .cards-hub-fan { opacity: .5; right: -130px; }
}

@media (max-width: 900px) {
    .menu-toggle { display: flex; }
    .main-menu { display: none; position: absolute; left: 20px; right: 20px; top: 72px; max-height: calc(100vh - 92px); overflow-y: auto; padding: 1rem; border: 1px solid var(--border); border-radius: 17px; background: rgba(14,9,24,.99); box-shadow: var(--shadow); flex-direction: column; align-items: stretch; }
    .main-menu.is-open { display: flex; }
    .nav-group-toggle { width: 100%; justify-content: space-between; padding: .65rem 0; }
    .nav-dropdown { position: static; width: auto; display: none; opacity: 1; visibility: visible; transform: none; margin-top: .2rem; box-shadow: none; background: rgba(255,255,255,.02); }
    .nav-group.is-open .nav-dropdown { display: block; }
    .hero-grid, .limits-layout, .spread-guide-layout, .shop-panel, .faq-layout, .split-content, .card-hero-grid, .article-layout { grid-template-columns: 1fr; }
    .home-hero { padding-top: 5rem; }
    .hero-copy { max-width: 800px; }
    .hero-deck { min-height: 500px; max-width: 620px; width: 100%; margin-inline: auto; }
    .hero-card, .hero-deck-back { width: 225px; }
    .reading-grid, .compact-grid { grid-template-columns: repeat(2,1fr); }
    .compact-grid .reading-card { flex-direction: column; }
    .process-line { grid-template-columns: repeat(2,1fr); gap: 1.2rem; }
    .process-line article:nth-child(2)::after { display: none; }
    .limits-layout { gap: 2rem; }.limits-visual { min-height: 570px; }
    .editorial-grid { grid-template-columns: repeat(2,1fr); }.editorial-card.featured { grid-row: auto; min-height: 300px; }
    .reading-page-hero { min-height: auto; }.reading-page-hero .narrow { margin-left: auto; }.reading-hero-symbol { right: -70px; opacity: .22; }
    .spread-catalog-card { grid-template-columns: 140px 1fr; }
    .cards-hub-hero .narrow { margin-left: auto; }.cards-hub-fan { opacity: .18; right: -100px; }
    .suit-grid { grid-template-columns: repeat(2,1fr); }
    .card-hero-grid { text-align: left; }.card-image-stage img { width: 330px; }
    .article-sidebar { order: -1; }.sticky-card-info { position: static; display: grid; grid-template-columns: 150px 1fr; column-gap: 1rem; }.sticky-card-info > img { grid-row: span 4; width: 150px; margin: 0; }.sticky-card-info .button { width: auto; }
    .footer-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 640px) {
    .container { width: min(100% - 24px, var(--container)); }
    .brand img { width: 192px; }
    .section { padding: 4.5rem 0; }
    h1 { font-size: 3.25rem; }
    h2 { font-size: 2.55rem; }
    .home-hero { min-height: auto; padding: 4.5rem 0 3rem; }
    .hero-orbit { opacity: .2; }
    .hero-deck { min-height: 370px; }
    .hero-card, .hero-deck-back { width: 155px; }
    .hero-card-1 { left: 3%; top: 90px; }.hero-card-2 { left: 27%; top: 35px; }.hero-card-3 { right: 1%; top: 90px; }.hero-deck-back { left: 31%; top: 75px; }
    .reading-grid, .compact-grid, .arcana-panels, .limit-comparison, .editorial-grid, .suit-grid, .cards-catalog, .archive-catalog, .positions-grid, .positions-5, .interpretation-stack, .card-quick-data, .comparison-table, .previous-next, .footer-grid { grid-template-columns: 1fr; }
    .reading-card { min-height: 230px; }
    .process-line { grid-template-columns: 1fr; }.process-line article::after { display: none; }
    .limits-visual { min-height: 470px; }.limits-visual::before { width: 410px; height: 410px; }.limits-visual::after { width: 320px; height: 320px; }.limits-visual img { width: 235px; }
    .orbit-label { font-size: .69rem; }.orbit-one { left: 0; }.orbit-two { right: 0; }.orbit-three { left: 3%; }
    .card-fan { height: 340px; transform: scale(.7); transform-origin: top center; margin-bottom: -60px; width: 800px; left: 50%; margin-left: -400px; }
    .scale-row { grid-template-columns: 100px 1fr; }.scale-row small { grid-column: 1 / -1; text-align: left; }
    .shop-panel { padding: 1.5rem; }.shop-art { height: 280px; }.shop-art img { width: 150px; }.shop-art img:first-child { left: 10%; }.shop-art img:last-child { left: 42%; }
    .page-hero { padding: 4.5rem 0 3rem; }
    .reading-hero-symbol { display: none; }
    .reading-meta { flex-direction: column; gap: .3rem; }
    .deck-zone-heading, .selection-status, .active-reading-banner { grid-template-columns: 1fr; flex-direction: column; align-items: stretch; }
    .selection-counter { align-self: flex-start; }
    .selection-status .button { width: 100%; }
    .deck-selection { justify-content: flex-start; min-height: 290px; padding-inline: 0; }
    .select-card { flex-basis: 95px; margin-left: -34px; }.select-card img { width: 95px; }
    .result-card { grid-template-columns: 1fr; }.result-visual { width: 190px; margin-inline: auto; }.active-reading-banner .reading-date { text-align: left; }
    .spread-catalog-card { grid-template-columns: 1fr; }.spread-number { min-height: 130px; }
    .cards-hub-fan { display: none; }.cards-hub-hero { min-height: auto; }
    .card-page-hero { padding-top: 4rem; }.card-image-stage img { width: 270px; }.card-anchor-nav { top: 82px; }
    .sticky-card-info { display: block; }.sticky-card-info > img { width: 170px; margin: 0 auto 1rem; }.sticky-card-info .button { width: 100%; }
    .footer-bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
