:root {
  --paper: #fbf7ef;
  --paper-2: #f6efe5;
  --ink: #351016;
  --text: #342f2d;
  --muted: #746b65;
  --line: #d9c3a7;
  --gold: #b78a4b;
  --accent: #9e141d;
  --accent-2: #c84642;
  --rose: #d97779;
  --sage: #8da186;
  --shadow: 0 12px 35px rgba(69, 34, 22, .11);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --container: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--text); background: var(--paper); font-family: var(--sans); font-size: 16px; line-height: 1.5; }
body::before { content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .26; background-image: radial-gradient(rgba(84, 49, 31, .16) .5px, transparent .5px); background-size: 5px 5px; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
img { display: block; max-width: 100%; }

.site-header { max-width: var(--container); height: 70px; margin: 0 auto; padding: 0 34px; display: grid; grid-template-columns: 280px 1fr 44px; align-items: center; border-bottom: 1px solid rgba(183, 138, 75, .3); }
.brand { display: inline-flex; align-items: center; gap: 12px; font: 32px/1 var(--serif); color: var(--ink); letter-spacing: -.7px; }
.brand-copy { display:flex; flex-direction:column; }.brand-copy strong { font:inherit; }.brand-copy small { margin-top:3px; font:13px/1 var(--sans); letter-spacing:1.2px; }
.brand-mark { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold); font-size: 23px; }
.main-nav { display: flex; justify-content: center; gap: clamp(25px, 4vw, 68px); height: 100%; }
.main-nav a { position: relative; display: flex; align-items: center; font-size: 15px; white-space: nowrap; }
.main-nav a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 13px; height: 2px; background: var(--accent); transform: scaleX(0); transition: transform .2s ease; }
.main-nav a:hover::after, .main-nav a.active::after { transform: scaleX(1); }
.history-link { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--ink); }
.history-link svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.menu-button { display: none; background: transparent; border: 0; }

.compat-hero { max-width: var(--container); min-height: 485px; margin: 0 auto; padding: 18px 34px 34px; display: grid; grid-template-columns: .93fr 1.07fr; gap: 50px; align-items: center; overflow: hidden; }
.hero-copy { position: relative; padding-left: 14px; }
.hero-copy::before { content: '✦'; position: absolute; left: -75px; top: 25px; width: 180px; height: 180px; border: 1px solid rgba(183, 138, 75, .17); border-radius: 50%; color: rgba(183, 138, 75, .28); font-size: 40px; display: grid; place-items: center; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; color: var(--ink); }
.hero-copy h1 { position: relative; margin: 0 0 16px; font-size: clamp(44px, 4vw, 67px); line-height: 1.08; letter-spacing: -2.2px; }
.hero-lead { margin: 0 0 22px; font-size: 18px; color: #514b47; }
.compat-form { max-width: 580px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 28px; }
.compat-form label, .product-form label { display: grid; gap: 8px; font-size: 14px; font-weight: 550; }
input, textarea, select { width: 100%; border: 1px solid #bca68d; border-radius: 8px; background: rgba(255,255,255,.72); color: var(--text); outline: none; transition: border-color .2s, box-shadow .2s; }
input, select { height: 49px; padding: 0 14px; }
textarea { padding: 14px; resize: vertical; }
input:focus, textarea:focus, select:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(183, 138, 75, .15); }
.button { min-height: 51px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 28px; border: 0; border-radius: 7px; font: 17px/1 var(--sans); cursor: pointer; transition: transform .18s, box-shadow .18s, background .18s; }
.button:hover { transform: translateY(-1px); }
.button:disabled { opacity: .65; cursor: wait; transform: none; }
.button-primary { color: #fffaf1; background: linear-gradient(135deg, #ad1b23, #8e1019); box-shadow: 0 7px 20px rgba(142, 16, 25, .2); }
.button-primary:hover { box-shadow: 0 10px 25px rgba(142, 16, 25, .28); }
.button-wide { grid-column: 1 / -1; width: 100%; }
.privacy-note { grid-column: 1 / -1; margin: -3px 0 0; text-align: center; color: var(--muted); font-size: 13px; }

.compat-visual { position: relative; min-height: 405px; display: grid; grid-template-columns: 160px 1fr 160px; grid-template-rows: 1fr 105px; gap: 10px 25px; align-items: center; padding: 25px 28px 17px; border: 1px solid rgba(183, 138, 75, .18); border-radius: 15px; background: rgba(255,255,255,.58); box-shadow: var(--shadow); overflow: hidden; }
.compat-visual::before { content: ''; position: absolute; width: 330px; height: 330px; border: 1px solid rgba(183,138,75,.22); border-radius: 50%; left: 50%; top: -20px; transform: translateX(-50%); box-shadow: 0 0 0 35px rgba(183,138,75,.035), 0 0 0 70px rgba(183,138,75,.025); }
.person-card { position: relative; z-index: 1; height: 280px; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; padding: 21px; border: 1px solid var(--rose); border-radius: 12px; background: linear-gradient(rgba(255,255,255,.25), rgba(240,204,202,.15)); }
.person-card.person-two { border-color: var(--sage); background: linear-gradient(rgba(255,255,255,.25), rgba(196,213,193,.16)); }
.person-symbol { flex: 1; display: grid; place-items: center; font: 90px/1 var(--serif); color: rgba(158,20,29,.45); }
.person-two .person-symbol { color: rgba(78,111,77,.48); }
.person-card strong { font: 22px/1.2 var(--serif); color: var(--ink); }
.person-card small { color: var(--muted); margin-top: 4px; }
.score-orbit { position: relative; z-index: 1; width: 230px; height: 230px; justify-self: center; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 18px solid transparent; border-radius: 50%; background: linear-gradient(#fffaf2,#fffaf2) padding-box, conic-gradient(var(--rose) 0 48%, #f0dbd4 48% 52%, var(--sage) 52% 78%, #e8ded3 78%) border-box; box-shadow: inset 0 0 0 1px var(--line); }
.score-orbit strong { font: 60px/.9 var(--serif); color: var(--ink); }
.score-orbit strong small { font-size: 30px; }
.score-orbit span { font-size: 13px; margin-top: 8px; }
.metric-list { grid-column: 1 / -1; width: 440px; justify-self: center; display: grid; gap: 8px; border-top: 1px solid rgba(183,138,75,.25); padding-top: 14px; }
.metric-list div { display: grid; grid-template-columns: 22px 100px 1fr 38px; align-items: center; gap: 8px; font-size: 13px; }
.metric-list span { color: var(--accent); font-size: 19px; }.metric-list div:nth-child(2) span { color: var(--sage); }.metric-list div:nth-child(3) span { color: var(--gold); }
.metric-list i { height: 5px; background: #e8dfd5; border-radius: 4px; overflow: hidden; }.metric-list b { display:block; height:100%; background: var(--rose); }.metric-list div:nth-child(2) b { background: var(--sage); }.metric-list div:nth-child(3) b { background: #d9ae6d; }

.services, .how { max-width: var(--container); margin: 0 auto; padding: 0 34px 18px; }
.services h2, .how h2 { margin: 0 0 6px; display: flex; align-items: center; gap: 35px; font-size: 35px; text-align: center; }
.services h2 span, .how h2 span { flex: 1; height: 1px; background: var(--line); }
.service-directory { display: grid; grid-template-columns: repeat(3, 1fr); }
.service-directory a { min-height: 116px; padding: 19px 26px 18px 8px; display: grid; grid-template-columns: 40px 66px 1fr 24px; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); transition: background .2s, padding .2s; }
.service-directory a:hover { padding-left: 14px; background: rgba(255,255,255,.35); }
.service-directory em { color: var(--gold); font: 22px/1 var(--serif); font-style: normal; }
.service-directory i { width: 56px; height: 56px; display: grid; place-items: center; border: 1px solid #cda4a1; border-radius: 50%; color: var(--accent); font: 27px/1 var(--serif); font-style: normal; }
.service-directory a:nth-child(2) i, .service-directory a:nth-child(5) i { border-color: var(--gold); color: var(--gold); }
.service-directory a:nth-child(3) i { border-color: var(--sage); color: #657b60; }
.service-directory strong { display: block; color: var(--ink); font: 18px/1.3 var(--serif); }
.service-directory small { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.service-directory b { color: var(--accent); font-size: 25px; font-weight: 300; }
.how { padding-top: 0; padding-bottom: 30px; }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; padding-top: 8px; }
.steps article { position: relative; min-height: 88px; display: grid; grid-template-columns: 45px 58px 1fr; gap: 14px; align-items: center; padding: 10px 18px; border: 1px solid rgba(183,138,75,.25); border-radius: 12px; background: rgba(255,255,255,.38); box-shadow: 0 5px 16px rgba(68,37,24,.05); }
.steps article:not(:last-child)::after { content: '······→'; position: absolute; right: -48px; color: var(--gold); letter-spacing: 2px; }
.steps em { width: 43px; height: 43px; display: grid; place-items:center; border: 1px solid var(--gold); border-radius:50%; color: var(--gold); font: 19px/1 var(--serif); font-style:normal; }
.steps i { width:54px; height:54px; display:grid; place-items:center; border:1px solid var(--line); border-radius:12px; color:var(--ink); font:26px/1 var(--serif); font-style:normal; }
.steps h3 { margin:0; font-size:16px; }.steps p { margin:4px 0 0; color:var(--muted); font-size:12px; line-height:1.4; }

.site-footer { max-width: var(--container); min-height: 95px; margin: 0 auto; padding: 18px 38px; display: grid; grid-template-columns: 1fr 1.2fr 1fr; align-items: center; border-top: 1px solid var(--line); gap: 25px; }
.footer-brand { font-size: 24px; }.footer-brand .brand-mark { width:38px; height:38px; font-size:18px; }
.site-footer p { margin:0; color:var(--muted); font-size:12px; }.site-footer nav { display:flex; justify-content:flex-end; gap:28px; font-size:12px; }.site-footer a:hover { color:var(--accent); }

/* Generic product pages */
.tool-hero { max-width: 1180px; min-height: 570px; margin: 0 auto; padding: 70px 34px; display:grid; grid-template-columns: .9fr 1.1fr; gap:90px; align-items:start; }
.back-link { display:inline-block; margin-bottom:28px; color:var(--accent); font-size:14px; }
.tool-intro h1 { margin:0 0 18px; font-size:58px; line-height:1.08; letter-spacing:-1.5px; }.tool-intro > p { font-size:20px; color:var(--muted); }
.tool-intro ul { list-style:none; padding:20px 0 0; margin:0; display:grid; gap:12px; }.tool-intro li::before { content:'✦'; margin-right:10px; color:var(--gold); }
.tool-form-wrap { position:relative; padding:34px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.62); box-shadow:var(--shadow); }
.product-form { display:grid; gap:20px; }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.form-note { margin:0; color:var(--muted); font-size:11px; text-align:center; }
.inline-result { margin-top:24px; padding-top:24px; border-top:1px solid var(--line); }
.content-band { padding:65px max(34px, calc((100vw - 1180px)/2)); background:var(--paper-2); }.content-band h2 { margin:0 0 30px; font-size:38px; }.content-columns { display:grid; grid-template-columns:repeat(3,1fr); gap:50px; }.content-columns p { margin:0; color:var(--muted); }.content-columns strong { color:var(--ink); font:20px/2 var(--serif); }

/* Result components */
.preview-head { display:flex; align-items:center; gap:22px; margin-bottom:18px; }.score-small { width:96px; height:96px; flex:0 0 auto; display:grid; place-items:center; border:9px solid var(--rose); border-radius:50%; color:var(--ink); font:30px/1 var(--serif); }.preview-head h2 { margin:0 0 4px; font-size:28px; }.preview-head p { margin:0; color:var(--muted); }
.result-metrics { display:grid; gap:11px; margin:20px 0; }.result-metrics div { display:grid; grid-template-columns:100px 1fr 42px; gap:12px; align-items:center; font-size:13px; }.result-metrics i { height:7px; border-radius:6px; background:#e5ddd3; overflow:hidden; }.result-metrics b { display:block; height:100%; background:var(--accent-2); }.result-insights { padding-left:20px; color:#5b534d; }.result-insights li { margin:9px 0; }
.result-cta { display:flex; gap:12px; align-items:center; margin-top:20px; }.result-cta .button { flex:1; color:#fffaf1; }.result-cta > a:not(.button) { color:#c8bba9; font-size:13px; }
.name-list { display:grid; gap:10px; }.name-list article, .period-list article { padding:13px 0; border-bottom:1px solid var(--line); }.name-list strong { font:22px/1 var(--serif); color:var(--ink); }.name-list em { float:right; color:var(--accent); font-style:normal; }.name-list p { margin:5px 0 0; color:var(--muted); }
.matrix-grid { display:grid; grid-template-columns:repeat(3,58px); gap:6px; margin:18px 0; }.matrix-grid span { height:58px; display:grid; place-items:center; border:1px solid var(--line); border-radius:8px; font:20px/1 var(--serif); }
.report-summary { color:#57504b; }.report-note { padding:12px; border-left:2px solid var(--gold); color:var(--muted); font-size:13px; }
.report-sections { display:grid; gap:16px; margin-top:25px; }.report-sections article { padding-top:16px; border-top:1px solid var(--line); }.report-sections h3 { margin:0 0 6px; font-size:21px; }.report-sections p { margin:0; white-space:pre-line; }

.result-dialog { width:min(620px, calc(100vw - 28px)); max-height:90vh; padding:36px; border:1px solid var(--line); border-radius:16px; background:var(--paper); box-shadow:0 25px 80px rgba(45,20,18,.25); overflow:auto; }.result-dialog::backdrop { background:rgba(35,17,19,.5); backdrop-filter:blur(5px); }.dialog-close { position:absolute; top:12px; right:15px; border:0; background:transparent; font-size:28px; cursor:pointer; }
.history-page, .result-page { max-width:960px; min-height:650px; margin:0 auto; padding:70px 34px; }.history-page > h1, .result-page h1 { margin:0; font-size:56px; }.history-page > p { color:var(--muted); }.history-list { margin-top:35px; border-top:1px solid var(--line); }.history-list a { min-height:82px; padding:15px 6px; display:grid; grid-template-columns:1fr auto 30px; align-items:center; gap:20px; border-bottom:1px solid var(--line); }.history-list strong { display:block; font:21px/1.4 var(--serif); }.history-list small { color:var(--muted); }.history-list em { color:var(--accent); font-style:normal; font-size:13px; }.history-list b { color:var(--accent); font-size:22px; }
.empty-state { margin-top:45px; padding:70px 20px; text-align:center; border:1px solid var(--line); border-radius:15px; }.empty-state > span { color:var(--gold); font-size:35px; }.empty-state h2 { font-size:30px; margin:10px 0; }.empty-state p { color:var(--muted); margin:0 0 24px; }
.result-page > header { margin-bottom:28px; }.result-page > header small { color:var(--muted); }.result-sheet { padding:35px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.62); box-shadow:var(--shadow); }.unlock-panel { margin-top:20px; padding:22px 25px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:20px; border:1px solid var(--line); border-radius:12px; background:var(--paper-2); }.unlock-panel h2 { margin:0 0 4px; font-size:24px; }.unlock-panel p { margin:0; color:var(--muted); }.unlock-panel small { grid-column:1/-1; color:var(--muted); text-align:right; }.telegram-button { margin-top:20px; background:#259cd8; color:white; }

/* Tarot section: intentionally a distinct sub-brand world */
.tarot-theme { --paper:#0b0b17; --paper-2:#11101e; --ink:#e8ce99; --text:#ead9b8; --muted:#a89a80; --line:#806638; --gold:#d6b271; background:#0b0b17; color:var(--text); }
.tarot-theme::before { opacity:.12; background-image:radial-gradient(rgba(214,178,113,.25) .5px, transparent .5px); }
.tarot-theme .site-header { border-color:rgba(214,178,113,.35); }.tarot-theme .brand, .tarot-theme .main-nav a { color:var(--ink); }.tarot-theme .history-link { color:var(--gold); }.tarot-theme .main-nav a::after { background:#e2574c; }
.tarot-hero { max-width:var(--container); min-height:470px; margin:0 auto; padding:38px 64px 18px; display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; border-bottom:1px solid var(--line); overflow:hidden; }
.tarot-copy { position:relative; z-index:2; }.tarot-copy .back-link { color:var(--gold); margin-bottom:24px; }.tarot-copy h1 { margin:0 0 18px; color:var(--ink); font-size:clamp(52px,5vw,74px); line-height:1.02; letter-spacing:-2px; }.tarot-copy > p { color:#d3c19e; font-size:19px; }.tarot-actions { display:flex; gap:20px; margin-top:28px; }.button-coral { color:#fff; background:#d94e42; }.button-outline { border:1px solid var(--gold); background:transparent; color:var(--ink); }.tarot-art { width:100%; max-height:420px; object-fit:contain; mix-blend-mode:screen; }
.tarot-workspace { max-width:var(--container); margin:0 auto; padding:0 64px 28px; }.spread-tabs { min-height:77px; display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--line); }.spread-tabs button { position:relative; border:0; background:transparent; color:var(--text); cursor:pointer; font-size:15px; }.spread-tabs button::after { content:''; position:absolute; left:12%; right:12%; bottom:-1px; height:3px; background:#e2574c; transform:scaleX(0); }.spread-tabs button[aria-selected="true"]::after { transform:scaleX(1); }
.tarot-form { margin-top:26px; padding:24px 28px; display:grid; grid-template-columns:260px 1fr 220px; align-items:center; gap:25px; border:1px solid var(--gold); border-radius:14px; }.tarot-form label { color:var(--ink); font:22px/1.2 var(--serif); }.tarot-form textarea { min-height:80px; border-color:var(--gold); border-radius:7px; background:#0f0e1a; color:var(--text); }.tarot-result { margin-top:24px; padding:28px; border-top:1px solid var(--line); }.card-reveal { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; }.card-reveal article { min-height:150px; padding:18px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid var(--gold); border-radius:8px; background:#0f0e1a; }.card-reveal small { color:var(--gold); }.card-reveal strong { color:var(--ink); font:19px/1.3 var(--serif); }
.tarot-how { max-width:var(--container); margin:0 auto; padding:10px 64px 25px; }.tarot-how h2 { margin:0 0 20px; color:var(--ink); text-align:center; font-size:35px; }.tarot-how > div { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; }.tarot-how article { display:grid; grid-template-columns:45px 1fr; column-gap:15px; }.tarot-how em { grid-row:1/3; width:40px; height:40px; display:grid; place-items:center; border:1px solid #e2574c; border-radius:50%; color:var(--gold); font-style:normal; }.tarot-how h3 { margin:0; color:var(--ink); font-size:18px; }.tarot-how p { margin:4px 0; color:var(--muted); font-size:13px; }.tarot-disclaimer { margin-top:28px!important; padding-top:16px; border-top:1px solid var(--line); text-align:center; color:var(--gold)!important; }.tarot-theme .site-footer { border-color:var(--line); }.tarot-theme .footer-brand { color:var(--ink); }

.toast { position:fixed; z-index:100; left:50%; bottom:25px; transform:translate(-50%,20px); padding:12px 18px; border-radius:8px; background:var(--ink); color:white; box-shadow:var(--shadow); opacity:0; pointer-events:none; transition:.2s; }.toast.show { opacity:1; transform:translate(-50%,0); }

/* Main SEO product page — dark Olesya visual system */
.home-dark {
  --night:#080914; --night-2:#0e0c19; --night-3:#15101d; --cream:#f3dfb4;
  --soft-gold:#d7a85b; --wine:#b22139; --night-line:rgba(201,145,67,.42);
  color:#f1ede6; background:var(--night);
}
.home-dark::before { opacity:.18; background-image:radial-gradient(rgba(226,173,93,.22) .6px, transparent .7px); background-size:8px 8px; }
.home-dark .site-header { height:78px; grid-template-columns:230px 1fr 44px; border-color:rgba(215,168,91,.28); }
.home-dark .brand { color:var(--cream); }.home-dark .brand-mark { border-color:var(--soft-gold); color:var(--soft-gold); }.home-dark .brand-copy small { color:var(--soft-gold); }
.home-dark .main-nav { gap:clamp(18px,2.4vw,42px); }.home-dark .main-nav a { color:#f0ede7; font-size:14px; }.home-dark .main-nav a::after { background:#d33d56; bottom:10px; }.home-dark .history-link { border-color:var(--soft-gold); color:var(--soft-gold); }
.home-dark h1,.home-dark h2,.home-dark h3 { color:var(--cream); }
.dark-hero { position:relative; max-width:1470px; min-height:720px; margin:0 auto; padding:42px 50px 36px; display:grid; grid-template-columns:.92fr 1.08fr; gap:38px; align-items:center; }
.dark-hero::before { content:''; position:absolute; left:-230px; top:20px; width:460px; height:460px; border:1px solid rgba(215,168,91,.18); border-radius:50%; box-shadow:0 0 0 42px rgba(215,168,91,.025),0 0 0 84px rgba(215,168,91,.018); }
.dark-hero-copy { position:relative; z-index:1; }
.dark-hero-copy h1 { margin:0 0 22px; font-size:clamp(54px,5.2vw,79px); line-height:1.05; letter-spacing:-2.3px; }.dark-hero-copy h1 em { color:#e04b62; font-style:normal; }.dark-hero-copy h1 span { color:var(--soft-gold); }
.dark-hero-copy > p { max-width:650px; margin:0 0 25px; color:#d7d1c7; font-size:17px; line-height:1.55; }
.dark-compat-form { max-width:660px; }.date-pair { display:grid; grid-template-columns:1fr 1fr; gap:22px; }.dark-compat-form label,.relationship-picker legend { color:#eee8dd; font-size:13px; }
.dark-compat-form input { margin-top:8px; border-color:#936334; background:#0c0b15; color:#f4eee4; color-scheme:dark; }.dark-compat-form input::-webkit-calendar-picker-indicator { filter:sepia(1) saturate(3) hue-rotate(355deg); }
.relationship-picker { margin:18px 0 17px; padding:0; border:0; }.relationship-picker div { display:grid; grid-template-columns:repeat(6,1fr); gap:7px; margin-top:9px; }.relationship-picker button { min-height:42px; padding:0 8px; border:1px solid rgba(215,168,91,.32); border-radius:7px; color:#d8d2ca; background:#0c0b15; cursor:pointer; font-size:12px; }.relationship-picker button[aria-pressed="true"] { border-color:#ca3b4f; color:#f2cbc9; background:linear-gradient(135deg,rgba(178,33,57,.4),rgba(178,33,57,.12)); }
.dark-primary { min-height:60px; color:white; background:linear-gradient(135deg,#a71e32,#c02c49 70%,#941629); box-shadow:0 10px 28px rgba(178,33,57,.22); }.dark-primary:hover { box-shadow:0 13px 32px rgba(197,38,65,.34); }
.dark-form-note { margin:14px 0 0; color:#ccc2b3; text-align:center; font-size:12px; }.dark-form-note i { margin:0 8px; color:var(--soft-gold); font-style:normal; }
.live-result { position:relative; min-height:625px; padding:24px 40px 30px; border:1px solid rgba(215,168,91,.38); border-radius:18px; background:radial-gradient(circle at 50% 30%,rgba(121,35,71,.12),transparent 45%),rgba(8,8,19,.7); box-shadow:0 20px 60px rgba(0,0,0,.2); overflow:hidden; }
.live-result::before { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 50% 25%,transparent 0 80px,rgba(215,168,91,.08) 81px 82px,transparent 83px 130px,rgba(215,168,91,.04) 131px 132px,transparent 133px); }
.live-result h2 { position:relative; margin:0 0 15px; text-align:center; font:20px/1.2 var(--serif); color:var(--cream); }
.result-core { position:relative; min-height:270px; display:grid; grid-template-columns:150px 1fr 150px; gap:20px; align-items:center; }
.avatar-orb { width:125px; height:125px; display:flex; flex-direction:column; align-items:center; justify-content:center; justify-self:center; border:1px solid #c68b45; border-radius:50%; color:#ef6c83; background:radial-gradient(circle,#3e162a,#12101c); font:52px/1 var(--serif); box-shadow:0 0 0 8px rgba(215,168,91,.035); }.avatar-orb small { margin-top:8px; color:#cdbb9e; font:12px/1 var(--sans); }.avatar-partner { color:#86a18b; background:radial-gradient(circle,#14332d,#12101c); }
.compat-ring { position:relative; width:245px; height:245px; justify-self:center; display:flex; flex-direction:column; align-items:center; justify-content:center; border:20px solid transparent; border-radius:50%; background:linear-gradient(#0a0914,#0a0914) padding-box,conic-gradient(#d9415d 0 43%,#7e1f46 43% 51%,#d5a75d 51% 78%,#4d3133 78%) border-box; box-shadow:inset 0 0 0 2px #d7a85b,0 0 0 1px rgba(215,168,91,.4); }.compat-ring::after { content:''; position:absolute; inset:-37px; border:1px dashed rgba(215,168,91,.4); border-radius:50%; }.compat-ring strong { color:white; font:67px/.9 var(--serif); }.compat-ring strong small { font-size:32px; }.compat-ring span { margin-top:9px; color:#c9c1b4; font-size:12px; }
.hero-metrics { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:14px 34px; margin:4px 0 22px; }.hero-metrics div { display:grid; grid-template-columns:90px 1fr 35px; gap:10px; align-items:center; color:#ded8ce; font-size:12px; }.hero-metrics i { height:6px; border-radius:6px; background:#282334; overflow:hidden; }.hero-metrics b { display:block; height:100%; background:linear-gradient(90deg,#d33655,#ee6175); }.hero-metrics div:nth-child(2n) b { background:linear-gradient(90deg,#b9764e,#dda95d); }.hero-metrics div:nth-child(3n) b { background:linear-gradient(90deg,#698c72,#a1bd8f); }
.locked-copy { position:relative; display:grid; grid-template-columns:24px 1fr; gap:10px; padding:15px 18px; border:1px solid rgba(215,168,91,.23); border-radius:10px 10px 0 0; color:var(--soft-gold); background:rgba(24,16,27,.65); font-size:12px; }.locked-copy span { color:#cfc7ba; }.dark-outline { position:relative; width:100%; min-height:51px; border:1px solid var(--soft-gold); border-radius:0 0 10px 10px; color:var(--cream); background:rgba(83,34,35,.22); }
.daily-hook { max-width:1370px; min-height:175px; margin:0 auto 28px; padding:0 50px 0 0; display:grid; grid-template-columns:210px 230px 1fr 265px; align-items:center; gap:28px; border:1px solid rgba(215,168,91,.55); border-radius:18px; background:radial-gradient(circle at 88% 50%,rgba(65,30,68,.38),transparent 34%),#0c0b17; overflow:hidden; }
.daily-card-art { align-self:stretch; display:grid; place-items:center; background:linear-gradient(135deg,#170f21,#080914); border-right:1px solid rgba(215,168,91,.4); transform:skew(-4deg); }.daily-card-art span { width:105px; height:135px; display:grid; place-items:center; border:1px solid var(--soft-gold); color:var(--soft-gold); font:55px/1 var(--serif); transform:rotate(-8deg) skew(4deg); box-shadow:0 0 0 7px rgba(215,168,91,.05); }.daily-hook h2 { margin:0; font-size:36px; }.daily-hook h2 em { display:block; color:#e04b62; font-style:normal; }.daily-hook strong { font-weight:500; }.daily-hook p { margin:3px 0 12px; color:#ece4d8; }.daily-hook small { color:#948b81; }.daily-button { color:#1a1014; background:linear-gradient(135deg,#e1ab5d,#f0ca82); box-shadow:0 8px 25px rgba(215,168,91,.18); }
.dark-services,.dark-how,.seo-explainer,.bottom-grid { max-width:1370px; margin:0 auto; padding:0 0 34px; }.dark-services > h2,.dark-how > h2 { margin:0 0 22px; color:var(--cream); text-align:center; font-size:32px; }.dark-service-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }.dark-service-grid a { min-height:325px; padding:25px 17px 16px; display:flex; flex-direction:column; align-items:center; text-align:center; border:1px solid rgba(160,97,104,.38); border-radius:15px; background:linear-gradient(180deg,rgba(53,24,48,.34),rgba(18,14,25,.8)); transition:transform .2s,border-color .2s; }.dark-service-grid a:hover { transform:translateY(-4px); border-color:var(--soft-gold); }.dark-service-grid i { width:78px; height:78px; display:grid; place-items:center; margin-bottom:18px; border:1px solid rgba(218,64,89,.55); border-radius:50%; color:#e14b65; background:radial-gradient(circle,rgba(164,31,66,.18),transparent 66%); font:39px/1 var(--serif); font-style:normal; }.dark-service-grid a:nth-child(2) i,.dark-service-grid a:nth-child(5) i { color:#9d74da;border-color:#745ab0; }.dark-service-grid a:nth-child(3) i,.dark-service-grid a:nth-child(4) i { color:var(--soft-gold);border-color:#a87740; }.dark-service-grid h3 { min-height:54px; margin:0 0 10px; font-size:20px; line-height:1.25; }.dark-service-grid p { margin:0; color:#aaa1a0; font-size:12px; line-height:1.5; }.dark-service-grid span { width:100%; min-height:44px; margin-top:auto; display:grid; place-items:center; border-radius:7px; color:#efe6dc; background:rgba(109,28,68,.25); font-size:13px; }
.dark-how > div { min-height:130px; padding:25px; display:grid; grid-template-columns:1fr 55px 1fr 55px 1fr; align-items:center; border:1px solid rgba(215,168,91,.45); border-radius:15px; background:#0c0b16; }.dark-how article { display:grid; grid-template-columns:65px 1fr; column-gap:18px; }.dark-how article i { grid-row:1/3; width:62px; height:62px; display:grid; place-items:center; border:1px solid var(--soft-gold); border-radius:50%; color:var(--soft-gold); font:28px/1 var(--serif); font-style:normal; }.dark-how h3 { margin:3px 0 4px; font-size:21px; }.dark-how p { margin:0; color:#aaa1a0; font-size:12px; }.dark-how > div > b { color:var(--soft-gold); font-size:31px; font-weight:300; text-align:center; }
.seo-explainer { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.seo-explainer article { padding:27px 28px; border:1px solid rgba(215,168,91,.3); border-radius:13px; background:rgba(16,13,25,.78); }.seo-explainer h2 { margin:0 0 12px; font-size:22px; }.seo-explainer p { margin:0; color:#aaa3a0; font-size:13px; }
.bottom-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:18px; }.faq,.telegram-panel { padding:26px; border:1px solid rgba(215,168,91,.35); border-radius:14px; background:#0d0c17; }.faq h2,.telegram-panel h2 { margin:0 0 17px; font-size:25px; }.faq details { border-top:1px solid rgba(215,168,91,.23); }.faq details:last-child { border-bottom:1px solid rgba(215,168,91,.23); }.faq summary { padding:12px 0; color:#e7dfd5; cursor:pointer; font-size:13px; }.faq details p { margin:0 0 13px; color:#9d9590; font-size:12px; }.telegram-panel { position:relative; padding-right:230px; overflow:hidden; }.telegram-panel::after { content:'➤'; position:absolute; right:45px; bottom:-38px; width:155px; height:255px; display:grid; place-items:center; border:5px solid #242233; border-radius:28px 28px 0 0; color:#5eb6e8; background:#11121e; font-size:70px; transform:rotate(4deg); }.telegram-panel ul { padding:0; margin:0 0 18px; list-style:none; color:#cfc7bd; font-size:13px; }.telegram-panel li { margin:7px 0; }.telegram-panel li::before { content:'✓'; color:var(--soft-gold); margin-right:8px; }.telegram-panel .button { width:210px; min-height:46px; }
.home-dark .site-footer { border-color:rgba(215,168,91,.3); }.home-dark .site-footer p,.home-dark .site-footer nav { color:#918985; }.home-dark .footer-brand { color:var(--cream); }
.dark-dialog { color:#eee6dc; background:#0d0d18; border-color:var(--soft-gold); }.dark-dialog::backdrop { background:rgba(0,0,7,.78); }.dark-dialog h2,.dark-dialog h3 { color:var(--cream); }.dark-dialog .dialog-close { color:var(--cream); }.dark-dialog .result-metrics i { background:#292433; }.dark-dialog .result-insights { color:#bdb4ad; }
.daily-profile-dialog > p { color:#bdb4ad; }.daily-profile-dialog .product-form { margin-top:20px; }.daily-profile-dialog .product-form label { color:#e8dfd5; }.daily-profile-dialog input { border-color:rgba(215,168,91,.4); background:#0a0a14; color:#f2e9df; color-scheme:dark; }.daily-profile-dialog .button-outline { border:1px solid var(--soft-gold); color:var(--cream); }.personalized-intro { margin:0 0 18px; padding:14px 16px; border-left:2px solid var(--soft-gold); color:#d4c8bd; background:rgba(215,168,91,.06); }

@media (max-width:1100px) {
  .home-dark .site-header { grid-template-columns:200px 1fr 40px; }.home-dark .main-nav { gap:15px; }.home-dark .main-nav a { font-size:12px; }
  .dark-hero { grid-template-columns:1fr; padding-top:60px; }.dark-hero-copy,.live-result { width:min(760px,100%); margin:auto; }.daily-hook { margin-inline:30px; grid-template-columns:160px 190px 1fr 220px; padding-right:25px; }.dark-services,.dark-how,.seo-explainer,.bottom-grid { margin-inline:30px; }.dark-service-grid { grid-template-columns:repeat(3,1fr); }.dark-service-grid a { min-height:290px; }
}

@media (max-width:760px) {
  .home-dark .site-header { height:64px; grid-template-columns:1fr auto auto; }.home-dark .main-nav { top:64px; background:#090914; }.home-dark .menu-button { color:var(--cream); }.home-dark .brand { font-size:22px; }
  .dark-hero { min-height:0; padding:38px 18px 25px; gap:35px; }.dark-hero::before { display:none; }.dark-hero-copy h1 { font-size:44px; letter-spacing:-1px; }.dark-hero-copy > p { font-size:15px; }.date-pair { grid-template-columns:1fr; gap:13px; }.relationship-picker div { grid-template-columns:repeat(3,1fr); }.dark-primary { min-height:58px; font-size:15px; }.dark-form-note { line-height:1.7; }.dark-form-note i { margin:0 3px; }
  .live-result { min-height:0; padding:22px 17px; }.result-core { min-height:190px; grid-template-columns:70px 1fr 70px; gap:5px; }.avatar-orb { width:64px;height:64px;font-size:28px; }.avatar-orb small { font-size:9px; }.compat-ring { width:145px;height:145px;border-width:13px; }.compat-ring::after { inset:-23px; }.compat-ring strong { font-size:43px; }.compat-ring strong small { font-size:22px; }.hero-metrics { grid-template-columns:1fr; gap:10px; }.hero-metrics div { grid-template-columns:90px 1fr 35px; }
  .daily-hook { margin:0 18px 28px; padding:22px; grid-template-columns:85px 1fr; gap:15px; }.daily-card-art { grid-row:1/3; min-height:130px; border:0; }.daily-card-art span { width:72px;height:105px;font-size:38px; }.daily-hook h2 { font-size:29px; }.daily-hook > div:nth-of-type(2) { grid-column:1/-1; }.daily-hook .daily-button { grid-column:1/-1; width:100%; }
  .dark-services,.dark-how,.seo-explainer,.bottom-grid { margin-inline:18px; }.dark-services > h2,.dark-how > h2 { font-size:26px; }.dark-service-grid { grid-template-columns:1fr 1fr; }.dark-service-grid a { min-height:285px; padding:20px 13px 14px; }.dark-service-grid h3 { font-size:18px; }.dark-service-grid i { width:65px;height:65px;font-size:31px; }
  .dark-how > div { grid-template-columns:1fr; gap:22px; }.dark-how > div > b { transform:rotate(90deg); }.seo-explainer,.bottom-grid { grid-template-columns:1fr; }.telegram-panel { padding-right:24px; padding-bottom:190px; }.telegram-panel::after { right:50%; transform:translateX(50%) rotate(4deg); height:175px; }.telegram-panel .button { width:100%; }
  .home-dark .site-footer { color:#aaa; }
}

/* Final concept lock: these rules intentionally follow the older compatibility layer. */
.home-dark .dark-hero { min-height:570px; }
.home-dark .dark-hero::after { inset:0 0 0 38%;opacity:.72;background:radial-gradient(ellipse at 55% 48%,rgba(118,48,80,.28),transparent 36%),repeating-radial-gradient(circle at 61% 47%,transparent 0 86px,rgba(222,174,96,.12) 87px 88px,transparent 89px 115px); }
.home-dark .dark-hero-copy h1 { max-width:630px;color:#f3dfbb;font-size:clamp(54px,4.6vw,72px);line-height:.96; }
.home-dark .dark-hero-copy > p { max-width:620px;color:#f1e5d7;font-size:20px; }
.home-dark .live-result.cosmic-result { min-height:490px;padding:0;border:0;border-radius:0;background:none;box-shadow:none; }
.ivory-insight-band .free-story-result > .compatibility-story-preview { padding:0;border:0;border-radius:0;background:none;box-shadow:none; }
.report-document .report-chapter { margin:0;padding:26px 160px 28px 18px;border:0;border-bottom:1px solid #bda06d;border-radius:0;background:transparent;background-image:none;box-shadow:none; }
.result-dialog.daily-experience .daily-card-stage { margin:0;padding:36px 10px 15px;border-radius:0;background:none;box-shadow:none; }
@media (max-width:1100px) { .report-document .report-chapter { padding-right:26px; } }
@media (max-width:760px) {
  .home-dark .dark-hero { min-height:0;padding:38px 18px 22px; }
  .home-dark .dark-hero-copy h1 { font-size:45px;line-height:1.02; }
  .home-dark .dark-hero-copy > p { font-size:15px; }
  .report-document .report-chapter { padding:24px 4px; }
}

.daily-experience .tarot-deal.is-revealed .tarot-card-3d { transform:none; }
.daily-experience .tarot-deal.is-revealed .tarot-back { opacity:0;transform:rotateY(-90deg);transition:opacity .28s ease,transform .55s ease; }
.daily-experience .tarot-deal.is-revealed .tarot-front { z-index:2;transform:none;backface-visibility:visible;animation:daily-card-arrive .72s cubic-bezier(.2,.8,.2,1) both; }
@keyframes daily-card-arrive { from{opacity:0;transform:rotateY(75deg) scale(.93)} to{opacity:1;transform:none} }
.ivory-insight-band .daily-limit-note { color:#745b4f;font:13px/1.4 var(--serif);text-align:center; }
.astro-passport { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0; }
.astro-passport article,.matrix-position-preview article { padding:18px;border:1px solid rgba(202,157,83,.34);background:rgba(255,248,229,.045); }
.astro-passport small { display:block;color:#d9ae63;text-transform:uppercase;letter-spacing:.11em; }
.astro-passport strong { display:block;margin:6px 0;color:#f5dfad;font:22px/1.2 var(--serif); }
.astro-passport p,.matrix-position-preview p { margin:0;color:var(--muted);font-size:14px;line-height:1.55; }
.report-formula { padding:12px 14px;border-left:2px solid var(--gold);color:#ead39c;background:rgba(202,157,83,.08); }
.matrix-position-preview { display:grid;gap:10px;margin:18px 0; }
.matrix-position-preview strong { display:block;margin-bottom:7px;color:#f2dcae;font-family:var(--serif); }
.name-list article small,.period-list article small { display:block;margin-top:8px;color:#cdbfba;line-height:1.45; }
@media (max-width:640px) { .astro-passport { grid-template-columns:1fr; } }
.telegram-mini-app .site-header { padding-top:env(safe-area-inset-top); }
.telegram-mini-app .daily-experience { padding-bottom:calc(45px + env(safe-area-inset-bottom)); }

@media (max-width: 1050px) {
  .site-header { grid-template-columns:230px 1fr 40px; }.brand { font-size:26px; }.brand-mark { width:39px;height:39px; }.main-nav { gap:22px; }.main-nav a { font-size:13px; }
  .compat-hero { grid-template-columns:1fr; padding-top:50px; }.hero-copy { max-width:700px; margin:auto; }.compat-form { max-width:none; }.compat-visual { width:min(760px,100%); margin:auto; }
  .service-directory { grid-template-columns:1fr 1fr; }.steps { gap:22px; }.steps article:not(:last-child)::after { display:none; }
  .tarot-hero { grid-template-columns:1fr 1fr; padding-inline:34px; }.tarot-workspace,.tarot-how { padding-inline:34px; }.tarot-form { grid-template-columns:200px 1fr; }.tarot-form button { grid-column:2; }
}

@media (max-width: 760px) {
  .site-header { height:64px; padding:0 18px; grid-template-columns:1fr auto auto; gap:12px; }.brand { font-size:23px; }.brand-mark { width:34px;height:34px;font-size:17px; }.menu-button { display:block; padding:8px; }.history-link { width:34px;height:34px; }
  .main-nav { position:absolute; z-index:50; top:64px; left:0; right:0; height:auto; padding:15px 20px 22px; display:none; flex-direction:column; gap:0; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:var(--shadow); }.main-nav.open { display:flex; }.main-nav a { min-height:44px; }.main-nav a::after { bottom:4px; right:auto; width:80px; }
  .compat-hero { padding:38px 20px 28px; gap:35px; }.hero-copy { padding:0; }.hero-copy::before { display:none; }.hero-copy h1 { font-size:42px; letter-spacing:-1.2px; }.hero-copy h1 br,.hero-lead br { display:none; }.hero-lead { font-size:16px; }.compat-form { grid-template-columns:1fr; gap:14px; }.compat-form .button,.privacy-note { grid-column:1; }
  .compat-visual { min-height:440px; padding:20px 15px; grid-template-columns:100px 1fr 100px; gap:12px; }.person-card { height:230px; padding:12px; }.person-symbol { font-size:56px; }.person-card strong { font-size:16px; }.score-orbit { width:150px;height:150px;border-width:12px; }.score-orbit strong { font-size:42px; }.metric-list { width:100%; }.metric-list div { grid-template-columns:20px 80px 1fr 34px; }
  .services,.how { padding-inline:20px; }.services h2,.how h2 { font-size:29px; line-height:1.15; gap:15px; }.service-directory { grid-template-columns:1fr; }.service-directory a { padding-right:6px; grid-template-columns:35px 56px 1fr 22px; }.service-directory i { width:48px;height:48px; }.steps { grid-template-columns:1fr; }.steps article { grid-template-columns:42px 50px 1fr; }
  .site-footer { padding:28px 20px; grid-template-columns:1fr; }.site-footer nav { justify-content:flex-start; flex-wrap:wrap; }.footer-brand { font-size:22px; }
  .tool-hero { padding:45px 20px; grid-template-columns:1fr; gap:35px; }.tool-intro h1 { font-size:44px; }.tool-form-wrap { padding:22px; }.form-row { grid-template-columns:1fr; }.content-band { padding:45px 20px; }.content-columns { grid-template-columns:1fr; gap:25px; }
  .result-dialog { padding:28px 20px; }.result-cta { flex-direction:column; }.result-cta .button { width:100%; }.history-page,.result-page { padding:45px 20px; }.history-page > h1,.result-page h1 { font-size:42px; }.result-sheet { padding:22px; }.unlock-panel { grid-template-columns:1fr; }.unlock-panel .button { width:100%; }.unlock-panel small { text-align:left; }
  .tarot-hero { padding:45px 20px 20px; grid-template-columns:1fr; }.tarot-copy h1 { font-size:48px; }.tarot-copy p br { display:none; }.tarot-art { max-height:300px; }.tarot-workspace,.tarot-how { padding-inline:20px; }.spread-tabs { grid-template-columns:1fr 1fr; padding-block:10px; }.spread-tabs button { min-height:52px; }.tarot-form { grid-template-columns:1fr; padding:20px; }.tarot-form button { grid-column:1; }.tarot-how > div { grid-template-columns:1fr; }.tarot-theme .main-nav { background:#0b0b17; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior:auto!important; transition:none!important; } }

/* Unified dark product system */
.product-theme {
  --paper:#080914; --paper-2:#0f101b; --ink:#f1dfbd; --text:#eee8df;
  --muted:#b4aaa3; --line:rgba(215,168,91,.28); --gold:#d7a85b;
  --accent:#c92f49; --accent-2:#e15067; --rose:#e15067; --sage:#9fbe91;
  color:var(--text); background:
    radial-gradient(circle at 8% 7%, rgba(111,30,54,.13), transparent 24rem),
    radial-gradient(circle at 86% 28%, rgba(215,168,91,.07), transparent 25rem), #080914;
}
.product-theme::before { opacity:.16; background-image:radial-gradient(rgba(215,168,91,.32) .55px,transparent .55px); background-size:10px 10px; }
.product-theme .site-header { border-color:var(--line); }
.product-theme .brand,.product-theme .main-nav a,.product-theme .history-link { color:var(--ink); }
.product-theme .main-nav a::after { background:var(--accent-2); }
.product-theme .menu-button { color:var(--ink); }
.product-theme .site-footer { border-color:var(--line); }
.product-theme .site-footer p,.product-theme .site-footer nav { color:#a79e98; }
.product-theme .footer-brand { color:var(--ink); }
.product-theme h1,.product-theme h2,.product-theme h3 { color:var(--ink); }
.product-theme .back-link { color:var(--gold); }

.product-hero { position:relative; max-width:1240px; margin:0 auto; padding:72px 34px 58px; display:grid; grid-template-columns:.92fr 1.08fr; gap:76px; align-items:center; }
.product-hero::before { content:'✦'; position:absolute; left:-70px; top:72px; width:230px; height:230px; display:grid; place-items:center; border:1px solid rgba(215,168,91,.12); border-radius:50%; color:rgba(215,168,91,.25); font-size:44px; box-shadow:0 0 0 38px rgba(215,168,91,.018),0 0 0 76px rgba(215,168,91,.012); }
.product-copy { position:relative; z-index:1; }
.product-eyebrow { display:block; margin-bottom:13px; color:var(--gold); font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.product-copy h1 { max-width:620px; margin:0 0 19px; font-size:clamp(48px,5.1vw,74px); line-height:1.02; letter-spacing:-2.2px; }
.product-lead { max-width:590px; margin:0; color:#c8c0b9; font-size:18px; line-height:1.65; }
.product-trust { margin-top:30px; display:flex; flex-wrap:wrap; gap:10px; }
.product-trust span { padding:8px 12px; border:1px solid var(--line); border-radius:999px; color:#d0c7bd; background:rgba(17,16,28,.7); font-size:12px; }
.product-trust span::before { content:'✓'; margin-right:7px; color:var(--gold); }

.product-card { position:relative; padding:27px; border:1px solid rgba(215,168,91,.4); border-radius:18px; background:linear-gradient(145deg,rgba(19,18,31,.96),rgba(11,11,21,.96)); box-shadow:0 28px 70px rgba(0,0,0,.3); overflow:hidden; }
.product-card::after { content:''; position:absolute; inset:auto -80px -120px auto; width:250px; height:250px; border:1px solid rgba(215,168,91,.12); border-radius:50%; pointer-events:none; }
.product-card-head { position:relative; z-index:1; margin:-27px -27px 25px; padding:17px 27px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); color:var(--ink); }
.product-card-head span { font:22px/1.2 var(--serif); }
.product-card-head small { padding:5px 9px; border:1px solid rgba(159,190,145,.45); border-radius:999px; color:#b9d3ad; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.product-theme .product-form { position:relative; z-index:1; gap:17px; }
.product-theme .product-form label { color:#e6ded5; font-size:13px; }
.product-theme input,.product-theme textarea,.product-theme select { border-color:rgba(215,168,91,.38); background:#0b0b16; color:#f5ede3; color-scheme:dark; }
.product-theme input::placeholder,.product-theme textarea::placeholder { color:#7f7775; }
.product-theme input:focus,.product-theme textarea:focus,.product-theme select:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(215,168,91,.12); }
.product-theme .form-note { color:#938b87; line-height:1.5; }
.product-theme .inline-result { position:relative; z-index:1; margin-top:28px; padding-top:25px; border-color:var(--line); }

.product-value { max-width:1240px; margin:0 auto; padding:0 34px 28px; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.value-card { position:relative; min-height:330px; padding:32px 34px; border:1px solid var(--line); border-radius:15px; background:rgba(14,14,25,.8); overflow:hidden; }
.value-card::after { content:''; position:absolute; right:-70px; bottom:-95px; width:210px; height:210px; border:1px solid rgba(215,168,91,.13); border-radius:50%; }
.full-card { border-color:rgba(201,47,73,.4); background:linear-gradient(140deg,rgba(31,17,29,.9),rgba(14,14,25,.9)); }
.value-label { color:var(--gold); font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.value-card h2 { margin:10px 0 20px; font-size:30px; }
.value-card ul { position:relative; z-index:1; padding:0; margin:0 0 22px; display:grid; gap:12px; list-style:none; }
.value-card li { color:#d9d1c9; }
.value-card li::before { content:'✦'; margin-right:10px; color:var(--gold); }
.value-card p { position:relative; z-index:1; margin:0; max-width:520px; color:#9f9792; font-size:13px; }

.product-method { max-width:1172px; margin:0 auto 28px; padding:32px 35px; display:grid; grid-template-columns:.85fr 1.15fr; gap:65px; align-items:center; border:1px solid var(--line); border-radius:15px; background:#0d0d18; }
.product-method h2 { margin:0; font-size:30px; line-height:1.2; }
.product-method p { margin:0; color:#bab1aa; line-height:1.75; }
.product-seo-copy { max-width:1240px; margin:0 auto; padding:0 34px 28px; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.product-seo-copy article { padding:27px 28px; border:1px solid var(--line); border-radius:14px; background:rgba(14,14,25,.78); }
.product-seo-copy h2 { margin:0 0 12px; font-size:24px; }
.product-seo-copy p { margin:0; color:#aaa29c; font-size:13px; line-height:1.7; }
.product-faq { max-width:1172px; margin:0 auto 28px; padding:31px 35px; border:1px solid var(--line); border-radius:15px; background:#0d0d18; }
.product-faq h2 { margin:0 0 20px; font-size:32px; }
.product-faq details { border-top:1px solid var(--line); }
.product-faq details:last-child { border-bottom:1px solid var(--line); }
.product-faq summary { padding:16px 0; color:#e9e0d7; cursor:pointer; }
.product-faq details p { margin:0 0 17px; color:#aaa19a; }
.product-next { max-width:1172px; margin:0 auto 50px; }
.product-next h2 { margin:0 0 18px; text-align:center; font-size:32px; }
.product-next > div { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.product-next a { padding:21px; display:grid; grid-template-columns:35px 1fr; border:1px solid var(--line); border-radius:12px; background:rgba(14,14,25,.76); transition:.2s; }
.product-next a:hover { transform:translateY(-2px); border-color:var(--gold); }
.product-next span { grid-row:1/3; color:var(--gold); font:18px/1 var(--serif); }
.product-next strong { color:var(--ink); font:20px/1.25 var(--serif); }
.product-next small { margin-top:4px; color:#958d87; }

.product-theme .preview-head p,.product-theme .report-summary,.product-theme .result-insights,.product-theme .name-list p,.product-theme .report-note,.product-theme .period-list p { color:#b8afa8; }
.product-theme .score-small { color:var(--ink); }
.product-theme .result-metrics i { background:#292535; }
.product-theme .name-list article,.product-theme .period-list article,.product-theme .report-sections article { border-color:var(--line); }
.product-theme .name-list strong,.product-theme .report-sections h3 { color:var(--ink); }
.product-theme .matrix-grid span { border-color:var(--line); color:#efe2cf; }
.locked-preview { margin-top:24px; padding:20px 22px; border:1px solid rgba(215,168,91,.3); border-radius:12px; background:linear-gradient(135deg,rgba(62,27,43,.4),rgba(20,18,30,.8)); }
.locked-preview small { color:var(--gold); font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.locked-preview h3 { margin:7px 0 12px; font-size:23px; }
.locked-preview ul { padding-left:19px; margin:0; color:#c8bfb8; }
.locked-preview li { margin:7px 0; }

.product-theme .history-page,.product-theme .result-page { max-width:1040px; }
.product-theme .history-page > p,.product-theme .history-list small { color:#aaa19b; }
.product-theme .history-list,.product-theme .history-list a { border-color:var(--line); }
.product-theme .history-list strong { color:var(--ink); }
.product-theme .history-list em,.product-theme .history-list b { color:var(--gold); }
.product-theme .empty-state,.product-theme .result-sheet,.product-theme .unlock-panel { border-color:var(--line); background:rgba(14,14,25,.83); box-shadow:0 20px 55px rgba(0,0,0,.25); }
.beta-access-panel { margin-top:20px; padding:24px 26px; border:1px solid rgba(159,190,145,.42); border-radius:12px; background:linear-gradient(135deg,rgba(28,51,41,.58),rgba(14,14,25,.86)); }.beta-access-panel span { color:#b8d9aa; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }.beta-access-panel h2 { margin:8px 0 6px; font-size:25px; }.beta-access-panel p { margin:0; color:#bcb5ae; }
.product-theme .empty-state p,.product-theme .unlock-panel p,.product-theme .unlock-panel small,.product-theme .result-page > header small { color:#aaa19b; }

@media (max-width:1050px) {
  .product-hero { grid-template-columns:1fr; gap:38px; }.product-copy,.product-card { width:min(760px,100%); margin:auto; }
  .product-value,.product-seo-copy { padding-inline:28px; }.product-method,.product-faq,.product-next { margin-inline:28px; }
}
@media (max-width:760px) {
  .product-theme .main-nav { background:#090914; }
  .product-hero { padding:38px 18px 30px; }.product-hero::before { display:none; }.product-copy h1 { font-size:44px; letter-spacing:-1.2px; }.product-lead { font-size:15px; }.product-trust { margin-top:22px; }
  .product-card { padding:21px 18px; border-radius:14px; }.product-card-head { margin:-21px -18px 21px; padding:15px 18px; }.product-card-head span { font-size:19px; }.product-card-head small { font-size:8px; }
  .product-value,.product-seo-copy { padding-inline:18px; grid-template-columns:1fr; }.value-card { min-height:0; padding:25px 22px; }.value-card h2 { font-size:26px; }
  .product-method { margin-inline:18px; padding:25px 22px; grid-template-columns:1fr; gap:18px; }.product-method h2 { font-size:27px; }
  .product-faq { margin-inline:18px; padding:25px 22px; }.product-faq h2 { font-size:28px; }
  .product-next { margin-inline:18px; }.product-next > div { grid-template-columns:1fr; }
  .product-theme .history-page,.product-theme .result-page { padding:42px 18px; }.product-theme .history-page > h1,.product-theme .result-page h1 { font-size:40px; }.product-theme .result-sheet { padding:22px 18px; }
  .product-theme .preview-head { align-items:flex-start; }.product-theme .score-small { width:76px; height:76px; border-width:7px; font-size:24px; }
}

.admin-shell { max-width:1240px; margin:0 auto; padding:58px 34px 70px; }
.admin-heading { margin-bottom:28px; display:flex; align-items:end; justify-content:space-between; gap:20px; }
.admin-heading h1 { margin:0; font-size:52px; }.admin-heading p { margin:8px 0 0; color:#aaa19b; }
.admin-heading .button-outline { border:1px solid var(--gold); color:var(--ink); }
.admin-kpis { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; margin-bottom:16px; }
.admin-kpis article,.admin-panel { border:1px solid var(--line); border-radius:13px; background:rgba(14,14,25,.86); }
.admin-kpis article { padding:20px; }.admin-kpis small { display:block; min-height:34px; color:#9d958f; }.admin-kpis strong { color:var(--ink); font:32px/1 var(--serif); }
.admin-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:16px; }
.admin-panel { margin-bottom:16px; padding:24px; overflow:hidden; }.admin-panel h2 { margin:0 0 18px; font-size:26px; }
.funnel-row { padding:11px 0; display:flex; justify-content:space-between; border-top:1px solid var(--line); color:#c9c0b9; }.funnel-row b { color:var(--gold); }
.admin-panel table { width:100%; border-collapse:collapse; font-size:13px; }.admin-panel th { color:#958c87; text-align:left; font-weight:500; }.admin-panel th,.admin-panel td { padding:12px 10px; border-bottom:1px solid var(--line); }.admin-panel td { color:#d4ccc5; }
.admin-table-wrap { overflow-x:auto; }.admin-empty { color:#958c87; }
@media (max-width:980px) { .admin-kpis { grid-template-columns:repeat(3,1fr); }.admin-grid { grid-template-columns:1fr; } }
@media (max-width:620px) { .admin-shell { padding:38px 18px 60px; }.admin-heading { align-items:start; flex-direction:column; }.admin-heading h1 { font-size:40px; }.admin-kpis { grid-template-columns:1fr 1fr; }.admin-kpis article { padding:16px; }.admin-kpis strong { font-size:28px; }.admin-panel { padding:18px; } }

/* Premium compatibility dossier */
.rich-report-page { max-width:1480px!important; padding-top:48px!important; }
.report-page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:32px!important; }
.report-page-head > div:first-child { max-width:830px; }.report-page-head h1 { font-size:clamp(42px,4vw,64px)!important; line-height:1.03; }.report-page-head p { margin:12px 0 0; color:#aaa29c; font-size:16px; }
.report-page-actions { display:flex; gap:10px; flex:0 0 auto; }.report-action { min-height:44px; padding:0 18px; border:1px solid var(--line); color:var(--ink); background:#0c0c17; font-size:13px; }
.report-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:24px; align-items:start; }
.report-toc { position:sticky; top:22px; padding:22px 0; display:grid; border-right:1px solid var(--line); }
.report-toc > strong { margin:0 18px 16px; color:var(--ink); font:22px/1.2 var(--serif); }.report-toc a { position:relative; min-height:54px; padding:12px 18px 12px 55px; display:flex; align-items:center; color:#938c88; font-size:12px; transition:.25s; }.report-toc a::before { content:''; position:absolute; left:22px; top:0; bottom:0; width:1px; background:var(--line); }.report-toc a span { position:absolute; left:9px; width:28px; height:28px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--gold); background:#080914; font:11px/1 var(--serif); }.report-toc a.active { color:#f0e5d8; background:linear-gradient(90deg,rgba(201,47,73,.18),transparent); }.report-toc a.active span { border-color:var(--accent-2); color:#fff; background:rgba(201,47,73,.35); }.report-toc a.active::after { content:''; position:absolute; right:-1px; top:9px; bottom:9px; width:2px; background:var(--accent-2); }
.rich-result-sheet { padding:0!important; border:0!important; background:transparent!important; box-shadow:none!important; }
.compatibility-dossier { display:grid; gap:18px; }
.report-chapter { scroll-margin-top:24px; padding:32px 34px; border:1px solid var(--line); border-radius:14px; background:linear-gradient(145deg,rgba(15,15,27,.96),rgba(10,10,19,.94)); opacity:0; transform:translateY(22px); transition:opacity .6s ease,transform .6s ease; overflow:hidden; }.report-chapter.is-visible { opacity:1; transform:none; }
.report-chapter-head { margin-bottom:25px; display:grid; grid-template-columns:36px 1fr; align-items:center; column-gap:10px; }.report-chapter-head > span { color:var(--gold); font:17px/1 var(--serif); }.report-chapter-head h2 { margin:0; font-size:32px; }.report-chapter-head p { grid-column:2; margin:7px 0 0; max-width:780px; color:#9e9690; font-size:13px; }
.partner-constellation { position:relative; min-height:240px; display:grid; grid-template-columns:1fr 230px 1fr; gap:30px; align-items:center; }.partner-constellation::before { content:''; position:absolute; left:21%; right:21%; top:50%; border-top:1px dashed rgba(215,168,91,.3); }
.partner-profile { position:relative; z-index:1; min-height:170px; padding:24px; display:grid; grid-template-columns:76px 1fr; gap:18px; align-items:center; border:1px solid var(--line); border-radius:12px; background:rgba(9,9,18,.76); }.partner-symbol { width:72px;height:72px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;color:var(--accent-2);font:38px/1 var(--serif);box-shadow:0 0 0 8px rgba(215,168,91,.035);}.partner-2 .partner-symbol { color:#9fbe91; }.partner-profile small { color:var(--gold); text-transform:uppercase; letter-spacing:.1em; }.partner-profile h3 { margin:4px 0 8px; font-size:25px; }.partner-profile p { margin:0 0 8px; color:#c5bdb6; font-size:13px; }.partner-profile span { color:#8f8884; font-size:11px; }
.dossier-score { position:relative; z-index:2; width:210px;height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:15px solid transparent;border-radius:50%;background:linear-gradient(#0b0b16,#0b0b16) padding-box,conic-gradient(var(--accent-2) 0 var(--score-angle),rgba(215,168,91,.18) var(--score-angle) 360deg) border-box;box-shadow:0 0 0 1px var(--gold),0 0 50px rgba(201,47,73,.12);}.dossier-score::after { content:''; position:absolute; inset:-31px; border:1px dashed rgba(215,168,91,.34); border-radius:50%; animation:orbit-spin 24s linear infinite; }.dossier-score small { color:#9c948e; }.dossier-score strong { color:var(--ink); font:62px/.95 var(--serif); }.dossier-score span { margin-top:8px; color:#d4c8bd; font-size:12px; }
.overview-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:20px; }.overview-lead { padding:24px; display:flex; align-items:center; border-left:2px solid var(--gold); background:rgba(215,168,91,.045); }.overview-lead p { margin:0; color:#c8c0b9; line-height:1.75; }.dossier-metrics { padding:22px; display:grid; grid-template-columns:1fr 1fr; gap:13px 24px; border:1px solid var(--line); border-radius:10px; }
.report-metric { display:grid; grid-template-columns:88px 1fr 38px; align-items:center; gap:9px; font-size:12px; }.report-metric i { height:6px; border-radius:6px; background:#292635; overflow:hidden; }.report-metric b { display:block; width:0; height:100%; background:linear-gradient(90deg,var(--accent-2),#d76b7e); transition:width 1s cubic-bezier(.2,.8,.2,1); }.report-ready .report-metric b { width:var(--score); }.report-metric strong { color:#e8dfd5; }
.strength-editorial { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.strength-editorial article { position:relative; min-height:210px; padding:28px; }.strength-editorial article + article { border-left:1px solid var(--line); }.strength-editorial article > span { color:rgba(215,168,91,.4); font:38px/1 var(--serif); }.strength-editorial h3 { margin:14px 0 4px; font-size:27px; }.strength-editorial strong { color:var(--gold); font:22px/1 var(--serif); }.strength-editorial p { color:#a9a19b; line-height:1.65; }.report-chapter blockquote { margin:25px 0 0; color:#d7c7b3; font:italic 20px/1.5 var(--serif); text-align:center; }
.conflict-cycle { position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }.conflict-cycle::before { content:''; position:absolute; top:29px; left:9%; right:9%; border-top:1px solid rgba(215,168,91,.45); }.conflict-cycle article { position:relative; z-index:1; padding:0 12px 15px; text-align:center; }.conflict-cycle span { width:58px;height:58px;margin:0 auto 15px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;color:var(--gold);background:#0d0d18;font:16px/1 var(--serif); }.conflict-cycle h3 { margin:0 0 8px; font-size:17px; }.conflict-cycle p { margin:0; color:#9e9690; font-size:12px; line-height:1.55; }
.dimension-list { display:grid; gap:0; }.dimension-detail { padding:25px 0; border-top:1px solid var(--line); }.dimension-detail:first-child { border-top:0; }.dimension-detail > header { display:grid; grid-template-columns:1fr auto 65px; gap:15px; align-items:center; }.dimension-detail > header div { color:var(--ink); font:25px/1.2 var(--serif); }.dimension-detail > header span { padding:5px 9px; border:1px solid var(--line); border-radius:20px; color:#b8afa8; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }.dimension-detail > header strong { color:var(--gold); font:24px/1 var(--serif); text-align:right; }.dimension-scale { height:5px; margin:13px 0 18px; display:block; background:#292635; border-radius:5px; overflow:hidden; }.dimension-scale b { display:block; width:0; height:100%; background:linear-gradient(90deg,var(--accent-2),var(--gold)); transition:width 1s ease .15s; }.report-ready .dimension-scale b { width:var(--score); }.dimension-body { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.dimension-body > div { padding:17px; background:rgba(255,255,255,.025); border-left:1px solid var(--line); }.dimension-body small { color:var(--gold); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.dimension-body p { margin:8px 0 0; color:#aaa29c; font-size:12px; line-height:1.6; }
.conversation-scripts { display:grid; gap:12px; }.conversation-scripts article { padding:22px 24px; display:grid; grid-template-columns:210px 1fr 1fr; gap:22px; align-items:start; border-top:1px solid var(--line); }.conversation-scripts h3 { margin:0; font-size:18px; }.conversation-scripts p { margin:0; font-size:13px; line-height:1.6; }.conversation-scripts .avoid { color:#a68488; }.conversation-scripts .try { color:#b9cdb0; }
.practice-timeline { display:grid; grid-template-columns:repeat(7,1fr); gap:0; overflow-x:auto; }.practice-timeline article { position:relative; min-width:150px; padding:18px 16px; border-top:1px solid var(--gold); }.practice-timeline article::before { content:''; position:absolute; top:-5px; left:16px; width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px #0d0d18; }.practice-timeline span { color:var(--gold); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }.practice-timeline h3 { margin:10px 0 7px; font-size:17px; }.practice-timeline p { margin:0; color:#9e9690; font-size:11px; line-height:1.55; }
.reflection-questions { margin:0; padding:0; counter-reset:questions; display:grid; grid-template-columns:1fr 1fr; gap:0 28px; list-style:none; }.reflection-questions li { counter-increment:questions; padding:19px 0 19px 52px; border-top:1px solid var(--line); color:#d6cec6; position:relative; }.reflection-questions li::before { content:counter(questions,decimal-leading-zero); position:absolute; left:0; color:var(--gold); font:19px/1 var(--serif); }
.method-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.method-grid article { padding:21px; border:1px solid var(--line); border-radius:9px; }.method-grid h3 { margin:0 0 8px; font-size:18px; }.method-grid p { margin:0; color:#9f9792; font-size:12px; line-height:1.65; }
@keyframes orbit-spin { to { transform:rotate(360deg); } }

/* Tarot deck and reveal */
.tarot-reading-result { position:relative; }.daily-reading-head { margin-bottom:18px; color:var(--ink); font:30px/1.2 var(--serif); text-align:center; }.tarot-card-stage { padding:24px 10px; display:flex; justify-content:center; align-items:flex-start; gap:clamp(18px,4vw,48px); perspective:1200px; }.tarot-deal { width:min(190px,28vw); opacity:0; transform:translateY(-35px) rotate(calc((var(--deal-index) - 1) * 3deg)); animation:deal-card .65s cubic-bezier(.2,.9,.2,1) forwards; animation-delay:calc(var(--deal-index) * 160ms); }.daily-card-stage .tarot-deal { width:min(260px,72vw); transform:translateY(-35px); }.tarot-card-3d { position:relative; width:100%; aspect-ratio:350/600; display:block; padding:0; border:0; border-radius:10px; background:transparent; transform-style:preserve-3d; transition:transform .9s cubic-bezier(.2,.75,.2,1); cursor:pointer; }.tarot-deal.is-revealed .tarot-card-3d { transform:rotateY(180deg); }.tarot-face { position:absolute; inset:0; display:block; overflow:hidden; border:1px solid var(--gold); border-radius:10px; backface-visibility:hidden; box-shadow:0 18px 45px rgba(0,0,0,.42); }.tarot-face::after { content:''; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 0 0 2px rgba(255,230,177,.12); pointer-events:none; }.tarot-face img { width:100%; height:100%; object-fit:cover; }.tarot-back img { filter:saturate(.88) contrast(1.05); }.tarot-front { transform:rotateY(180deg); background:#d5c49c; }.tarot-front img.reversed { transform:rotate(180deg); }.tarot-deal.is-revealed .tarot-front { animation:card-aura 1.8s ease .6s both; }.tarot-card-label { margin-top:14px; text-align:center; }.tarot-card-label small { display:block; color:var(--gold); font-size:10px; text-transform:uppercase; letter-spacing:.12em; }.tarot-card-label strong { display:block; margin-top:5px; color:var(--ink); font:18px/1.3 var(--serif); }.daily-save-status { width:max-content; margin:0 auto 22px; padding:7px 13px; border:1px solid rgba(159,190,145,.48); border-radius:999px; color:#b9d3ad; background:rgba(28,51,41,.4); font-size:11px; }.daily-guidance { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.daily-guidance article { padding:17px 18px; border-top:1px solid var(--line); }.daily-guidance h3 { margin:0 0 6px; color:var(--gold); font-size:17px; }.daily-guidance p { margin:0; color:#aaa29c; font-size:12px; line-height:1.55; }.tarot-teaser { max-width:760px; margin:20px auto!important; text-align:center; line-height:1.7; }.tarot-interpretation { margin-top:22px; padding:24px; border:1px solid var(--line); border-radius:11px; background:rgba(255,255,255,.025); }.tarot-interpretation h3 { margin:0 0 10px; }.tarot-interpretation p { margin:0; color:#b9b0aa; white-space:pre-line; line-height:1.75; }
@keyframes deal-card { to { opacity:1; transform:translateY(0) rotate(calc((var(--deal-index) - 1) * 1.2deg)); } }
@keyframes card-aura { 0% { box-shadow:0 18px 45px rgba(0,0,0,.42); } 45% { box-shadow:0 18px 60px rgba(215,168,91,.42),0 0 0 4px rgba(215,168,91,.1); } 100% { box-shadow:0 18px 45px rgba(0,0,0,.42); } }

@media (max-width:1050px) {
  .report-layout { grid-template-columns:1fr; }.report-toc { position:relative; top:auto; grid-template-columns:repeat(4,1fr); border-right:0; border-bottom:1px solid var(--line); }.report-toc > strong { grid-column:1/-1; }.report-toc a { padding:11px 8px 11px 40px; }.report-toc a::before,.report-toc a.active::after { display:none; }.report-toc a span { left:4px; }
  .partner-constellation { grid-template-columns:1fr 180px 1fr; gap:15px; }.dossier-score { width:165px;height:165px;border-width:12px; }.dossier-score strong { font-size:47px; }.partner-profile { grid-template-columns:1fr; text-align:center; }.partner-symbol { margin:auto; }
  .dimension-body { grid-template-columns:1fr 1fr; }.practice-timeline { grid-template-columns:repeat(4,1fr); }.practice-timeline article { min-width:0; }
}
@media (max-width:760px) {
  .report-page-head { align-items:flex-start; flex-direction:column; }.report-page-actions { width:100%; }.report-page-actions .button { flex:1; padding:0 10px; }.report-toc { grid-template-columns:1fr 1fr; padding:12px 0; }.report-toc > strong { margin-top:8px; }.report-chapter { padding:24px 18px; }.report-chapter-head { grid-template-columns:28px 1fr; }.report-chapter-head h2 { font-size:27px; }
  .partner-constellation { grid-template-columns:1fr 1fr; }.partner-constellation::before { display:none; }.dossier-score { grid-column:1/-1; grid-row:1; margin:auto; }.partner-profile { min-height:0; padding:17px 12px; }.partner-symbol { width:58px;height:58px;font-size:29px; }.partner-profile h3 { font-size:20px; }.partner-profile p,.partner-profile span { display:none; }
  .overview-grid,.strength-editorial { grid-template-columns:1fr; }.dossier-metrics { grid-template-columns:1fr; }.strength-editorial article + article { border-left:0; border-top:1px solid var(--line); }.conflict-cycle { grid-template-columns:1fr; }.conflict-cycle::before { top:6%; bottom:6%; left:28px; right:auto; border-top:0; border-left:1px solid rgba(215,168,91,.45); }.conflict-cycle article { padding:0 0 16px 78px; text-align:left; }.conflict-cycle span { position:absolute; left:0; top:0; width:56px;height:56px; }.dimension-detail > header { grid-template-columns:1fr auto; }.dimension-detail > header span { display:none; }.dimension-body { grid-template-columns:1fr; }.conversation-scripts article { grid-template-columns:1fr; gap:10px; }.practice-timeline { grid-template-columns:none; display:flex; }.practice-timeline article { min-width:190px; }.reflection-questions,.method-grid,.daily-guidance { grid-template-columns:1fr; }
  .tarot-card-stage { gap:10px; padding-inline:0; }.tarot-deal { width:min(140px,30vw); }.tarot-card-label strong { font-size:14px; }.tarot-card-label small { font-size:8px; }
}
@media (prefers-reduced-motion:reduce) { .dossier-score::after,.tarot-deal,.tarot-deal.is-revealed .tarot-front { animation:none!important; }.report-chapter,.tarot-deal { opacity:1; transform:none; }.tarot-card-3d { transition:none; } }
@media print { .site-header,.site-footer,.back-link,.report-page-actions,.report-toc,.beta-access-panel { display:none!important; }.product-theme { color:#181818; background:#fff; }.rich-report-page { max-width:none!important; padding:0!important; }.report-layout { display:block; }.report-chapter { break-inside:avoid; opacity:1; transform:none; color:#181818; background:#fff; border-color:#bbb; }.report-chapter h2,.report-chapter h3,.report-chapter p,.report-chapter li { color:#181818!important; }.rich-result-sheet { color:#181818; } }

/* 2026-06-28 — faithful implementation of the approved cosmic editorial concepts */
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.home-dark { background:
  radial-gradient(ellipse at 72% 34%,rgba(116,41,72,.34),transparent 27%),
  radial-gradient(ellipse at 38% 25%,rgba(27,74,130,.24),transparent 34%),
  linear-gradient(115deg,#020d21 0%,#06142c 43%,#150d24 100%); }
.home-dark::before { opacity:.72; background-image:radial-gradient(circle,rgba(245,197,115,.72) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(255,255,255,.42) 0 .7px,transparent 1px); background-size:97px 83px,59px 71px; background-position:17px 11px,37px 23px; }
.home-dark .site-header { max-width:1536px; height:92px; padding:0 64px; border-color:rgba(219,173,95,.16); background:linear-gradient(180deg,rgba(1,9,23,.52),transparent); }
.home-dark .brand { font-size:36px; }.home-dark .brand-mark { width:60px;height:60px;font-size:25px;box-shadow:0 0 28px rgba(221,172,89,.12); }.home-dark .brand-copy small { font:17px/1 var(--serif);letter-spacing:2px; }
.home-dark .main-nav a { font-size:15px; }.home-dark .main-nav a::after { background:#dbad61; }.home-dark .main-nav a:hover,.home-dark .main-nav a.active { color:#e9b865; }
.dark-hero { max-width:1536px; min-height:570px; padding:28px 68px 26px; grid-template-columns:.82fr 1.18fr; gap:38px; align-items:center; overflow:hidden; }
.dark-hero::before { left:auto;right:6%;top:-20%;width:720px;height:720px;border-color:rgba(219,173,95,.19);box-shadow:0 0 0 34px rgba(219,173,95,.018),0 0 0 86px rgba(219,173,95,.012),0 0 95px rgba(205,119,78,.09); }
.dark-hero::after { inset:0 0 0 38%!important;opacity:.72!important;background:radial-gradient(ellipse at 55% 48%,rgba(118,48,80,.28),transparent 36%),repeating-radial-gradient(circle at 61% 47%,transparent 0 86px,rgba(222,174,96,.12) 87px 88px,transparent 89px 115px)!important; }
.dark-hero-copy h1 { max-width:630px;margin:0 0 17px;color:#f3dfbb;font-size:clamp(54px,4.6vw,72px);line-height:.96;letter-spacing:-1.8px; }
.dark-hero-copy h1 em { color:inherit; }.dark-hero-copy > p { margin-bottom:22px;color:#f1e5d7;font:20px/1.55 var(--sans); }
.dark-compat-form { max-width:590px; }.dark-compat-form label,.relationship-select { color:#efe2d1;font:15px/1.2 var(--serif); }.dark-compat-form input,.dark-compat-form select { height:46px;margin-top:7px;padding-inline:15px;border:1px solid #b98544;border-radius:4px;background:rgba(5,15,34,.7);color:#efe7dc; }
.relationship-select { display:block;margin:14px 0 16px; }.relationship-select select { width:100%;color-scheme:dark; }
.dark-primary { position:relative;min-height:55px;border:1px solid #d3a04f;border-radius:3px;background:linear-gradient(180deg,#7d1d2e,#641322);box-shadow:inset 0 0 0 3px #1b1120,inset 0 0 0 4px rgba(221,173,91,.55),0 10px 28px rgba(0,0,0,.25);font:20px/1 var(--serif); }.dark-primary span { position:absolute;right:30px;color:#e8bb6e;font-size:23px; }.dark-form-note { text-align:left;color:#afa89f;font-size:11px; }
.live-result.cosmic-result { min-height:490px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible; }
.live-result.cosmic-result::before { inset:0;background:radial-gradient(circle at 50% 45%,rgba(225,171,82,.12),transparent 24%),repeating-radial-gradient(circle at 50% 45%,transparent 0 97px,rgba(224,175,91,.22) 98px 99px,transparent 100px 126px);animation:orbit-breathe 6s ease-in-out infinite; }
.cosmic-result .result-core { min-height:390px;grid-template-columns:170px 1fr 170px;gap:0; }
.cosmic-result .compat-ring { width:280px;height:280px;border-width:5px;background:radial-gradient(circle,#071329 56%,transparent 57%) padding-box,conic-gradient(from -15deg,#e2b765 0 78%,rgba(226,183,101,.15) 78% 100%) border-box;box-shadow:inset 0 0 0 1px #e3bd78,inset 0 0 26px rgba(226,177,89,.14),0 0 0 16px rgba(217,169,89,.025),0 0 40px rgba(231,174,70,.15); }
.cosmic-result .compat-ring::before { content:'';position:absolute;inset:20px;border:1px solid rgba(221,178,99,.42);border-radius:50%; }.cosmic-result .compat-ring::after { inset:-27px;border:1px dashed rgba(225,179,94,.5);animation:orbit-spin 36s linear infinite; }
.cosmic-result .compat-ring strong { color:#e7bc72;font-size:76px;font-weight:400;text-shadow:0 0 25px rgba(231,189,112,.2); }.cosmic-result .compat-ring strong small { font-size:38px; }.cosmic-result .compat-ring span { color:#eed7a7;font:18px/1 var(--serif); }
.cosmic-result .avatar-orb { position:relative;width:118px;height:118px;border-color:#d7a655;background:rgba(4,17,36,.8);box-shadow:0 0 0 6px rgba(221,170,89,.04),0 0 30px rgba(0,0,0,.35); }.cosmic-result .avatar-orb b { color:#e6bd74;font:62px/1 var(--serif);font-weight:400; }.cosmic-result .avatar-orb small { position:absolute;top:50%;right:103%;width:120px;margin:0;padding-bottom:8px;border-bottom:1px solid #bd914f;color:#f5e2be;text-align:right;font:15px/1 var(--serif); }.cosmic-result .avatar-orb em { position:absolute;top:66%;right:105%;width:110px;color:#e7d3ac;text-align:right;font:16px/1 var(--serif);font-style:normal; }.cosmic-result .avatar-partner small { left:103%;right:auto;text-align:left; }.cosmic-result .avatar-partner em { left:105%;right:auto;text-align:left; }
.cosmic-result .hero-metrics { grid-template-columns:repeat(6,1fr);gap:12px;margin:-16px 0 0; }.cosmic-result .hero-metrics div { display:flex;min-width:0;flex-direction:column;gap:4px;align-items:center;color:#f2e3ca;text-align:center; }.cosmic-result .hero-metrics i { width:52px;height:52px;display:grid;place-items:center;border:1px solid #c99d57;border-radius:50%;color:#e5b862;background:rgba(6,17,35,.62);font:25px/1 var(--serif);font-style:normal;overflow:visible; }.cosmic-result .hero-metrics strong { color:#ecd09b;font:19px/1 var(--serif); }.cosmic-result .hero-metrics span { color:#eadbc5;font:12px/1.2 var(--serif); }
@keyframes orbit-spin { to{transform:rotate(360deg)} } @keyframes orbit-breathe { 50%{opacity:.72;transform:scale(1.02)} }

.ivory-insight-band { position:relative;z-index:2;max-width:none;margin:0;padding:42px max(60px,calc((100vw - 1400px)/2)) 36px;display:grid;grid-template-columns:2.15fr 1fr;gap:48px;color:#322420;background:linear-gradient(90deg,rgba(252,244,228,.98),rgba(243,226,198,.98));border-top:1px solid #d4a95f;box-shadow:0 -20px 60px rgba(2,7,17,.2); }
.ivory-insight-band::before { content:'';position:absolute;left:0;right:0;top:-14px;height:28px;background:#f8edda;clip-path:polygon(0 49%,8% 36%,18% 56%,30% 38%,42% 53%,55% 35%,69% 50%,81% 34%,91% 48%,100% 31%,100% 100%,0 100%); }
.ivory-insight-band h2,.ivory-insight-band h3 { color:#342621; }.ivory-insight-band .free-story-result { max-width:none;margin:0;padding:0; }.ivory-insight-band .compatibility-story-preview { padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important; }.ivory-insight-band .compatibility-story-preview::before { display:none; }.ivory-insight-band .compatibility-story-preview h2 { margin:0 0 14px;font-size:38px;text-align:center; }.story-placeholder > p { max-width:900px;margin:12px auto 0;font:17px/1.55 var(--serif); }.story-signatures { display:grid;grid-template-columns:1fr .8fr 1fr;gap:24px;align-items:center;text-align:center; }.story-signatures article { display:grid;grid-template-columns:96px 1fr;column-gap:15px;text-align:left; }.story-signatures .portrait { grid-row:1/5;width:94px;height:94px;display:grid;place-items:center;border:2px solid #aa7c3e;border-radius:50%;color:#40516f;background:radial-gradient(circle at 50% 35%,#f7e6c7,#c5a27c);font:52px/1 var(--serif);box-shadow:0 7px 25px rgba(70,41,18,.15); }.story-signatures .portrait-b { color:#80624e; }.story-signatures h3 { margin:10px 0 2px;font-size:25px; }.story-signatures small,.story-signatures p { margin:0;color:#75635b;font:14px/1.35 var(--serif); }.element-union { display:flex;flex-direction:column;align-items:center; }.element-union b { color:#8a8764;font:35px/1 var(--serif); }.element-union strong { color:#49352e;font:22px/1.2 var(--serif);font-weight:400; }.element-union small { color:#807069;font:14px/1.2 var(--serif); }
.ivory-insight-band .daily-hook { min-height:0;margin:-42px -20px -36px 0;padding:28px 30px 20px;display:flex;flex-direction:column;gap:12px;border:0;border-left:1px solid rgba(175,124,54,.28);border-radius:0;background:radial-gradient(circle at 95% 50%,rgba(195,137,68,.13),transparent 45%);overflow:visible; }.ivory-insight-band .daily-hook h2 { margin:0;font-size:34px;line-height:1.1;text-align:center; }.ivory-insight-band .daily-card-art { width:128px;height:195px;align-self:center;display:block;border:7px solid #d9bd8d;border-radius:4px;background:none;transform:rotate(5deg);box-shadow:0 15px 25px rgba(72,39,24,.24);overflow:hidden; }.ivory-insight-band .daily-card-art img { width:100%;height:100%;object-fit:cover; }.ivory-insight-band .daily-button { min-height:44px;width:230px;margin:auto;font:16px/1 var(--serif); }

/* The report is one continuous editorial document, not a stack of dark cards. */
.product-theme:has(.rich-report-page) { background:#04162d;color:#342d28; }.product-theme:has(.rich-report-page)::before { opacity:.22;background-image:radial-gradient(rgba(221,180,99,.26) .6px,transparent .8px);background-size:9px 9px; }.product-theme:has(.rich-report-page) .site-header { max-width:1536px;border-color:rgba(218,175,95,.32); }.product-theme:has(.rich-report-page) .brand,.product-theme:has(.rich-report-page) .main-nav a { color:#f2dba9; }.product-theme:has(.rich-report-page) .history-link { color:#dcb56d; }
.rich-report-page { max-width:1510px!important;margin:0 auto;padding:18px 24px 40px!important; }.rich-report-page > .back-link { color:#d5ad67; }.rich-report-page .report-layout { grid-template-columns:270px minmax(0,1fr);gap:8px;align-items:stretch; }.report-document { min-width:0;padding:0 36px 36px;border:1px solid #b98d48;border-radius:8px;background:#f8f0df;color:#3b312c;box-shadow:0 25px 90px rgba(0,0,0,.28); }
.report-document .report-page-head { position:relative;margin:0 -10px 0;padding:22px 10px 18px;display:block;border-bottom:1px solid #bda06d;text-align:center; }.report-document .report-page-head h1 { margin:0;color:#332720;font-size:46px;line-height:1.1;letter-spacing:.5px; }.report-document .report-page-head p { margin:5px 0 0;color:#964a50;font:15px/1.3 var(--serif);letter-spacing:5px;text-transform:uppercase; }.report-document .report-page-head small { display:none; }.report-document .report-page-actions { position:absolute;right:8px;top:15px;display:flex;gap:6px; }.report-document .report-action { min-height:34px;padding:0 10px;border:1px solid #c4a36b;color:#6b574a;background:transparent;font-size:11px; }
.rich-report-page .report-toc { position:sticky;top:10px;min-height:calc(100vh - 20px);padding:20px 0;align-self:start;border:1px solid #b98d48;border-radius:8px 0 0 8px;background:linear-gradient(145deg,#06213e,#03204a);box-shadow:0 18px 50px rgba(0,0,0,.25); }.rich-report-page .report-toc > strong { margin:0 22px 18px;padding-bottom:18px;border-bottom:1px solid rgba(220,175,92,.45);color:#f2dcae;text-align:center;font:21px/1.2 var(--serif); }.rich-report-page .report-toc a { min-height:57px;padding:10px 15px 10px 57px;color:#e8d9bc;font:13px/1.25 var(--serif); }.rich-report-page .report-toc a::before { left:28px;background:rgba(216,172,92,.35); }.rich-report-page .report-toc a span { left:12px;width:34px;height:34px;border-color:#c99b51;color:#e9c77f;background:#092744;font-size:13px; }.rich-report-page .report-toc a.active { color:#fff1cc;background:linear-gradient(90deg,rgba(199,147,62,.24),transparent); }.rich-report-page .report-toc a.active span { border-color:#e3bb69;background:#0b3157; }.rich-report-page .report-toc aside { margin:auto 22px 0;padding:16px;border:1px solid rgba(222,176,91,.55);color:#f2dfb7;text-align:center;font:12px/1.45 var(--serif); }.rich-report-page .report-toc aside b { display:block;margin-bottom:8px;color:#e8ba68;font-size:14px; }
.report-document .rich-result-sheet { color:#3b312c; }.report-document .compatibility-dossier { display:block; }.report-document .report-chapter { position:relative;margin:0;padding:26px 160px 28px 18px;border:0;border-bottom:1px solid #bda06d;border-radius:0;background:transparent!important;background-image:none!important;box-shadow:none;overflow:visible; }.report-document .report-chapter::after { content:attr(data-note);position:absolute;right:12px;top:70px;width:125px;color:#a44d54;font:italic 15px/1.35 "Bradley Hand",cursive;transform:rotate(-2deg); }.report-document .report-chapter-head { margin-bottom:18px;display:block; }.report-document .report-chapter-head > span { display:none; }.report-document .report-chapter-head h2 { color:#2e241e!important;font-size:30px;line-height:1.15;text-transform:uppercase; }.report-document .report-chapter-head p { margin-top:7px;color:#7b6c61;font:italic 15px/1.4 var(--serif); }.report-document .partner-constellation,.report-document .overview-grid,.report-document .sign-story-grid,.report-document .element-story,.report-document .number-story-grid,.report-document .strength-editorial,.report-document .dimension-detail,.report-document .conversation-scripts article,.report-document .method-grid article { border-color:#d0b98f;background:rgba(255,255,255,.16); }.report-document .partner-profile h3,.report-document .partner-profile p,.report-document .partner-profile span,.report-document .overview-lead p,.report-document .report-metric,.report-document .sign-story-grid p,.report-document .element-story p,.report-document .number-story-grid p,.report-document .strength-editorial p,.report-document .dimension-body p,.report-document .practice-timeline p,.report-document .method-grid p { color:#574b44!important; }.report-document .dossier-score { background:#faf4e7; }.report-document .report-metric i,.report-document .dimension-scale { background:#dfd3c0; }.report-document .conflict-cycle article,.report-document .practice-timeline article { border-color:#d1b98f;background:transparent; }.report-document .reflection-questions li { color:#4f433d; }

/* Full-screen, scenic daily-card experience */
.result-dialog.daily-experience { width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:22px 20px 60px;border:0;border-radius:0;background:#08142b url('/static/img/generated/daily-dawn-v1.png') center top/cover fixed no-repeat;color:#32241f;overflow:auto; }.result-dialog.daily-experience::backdrop { background:#071226; }.daily-experience::before { content:'';position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(4,13,34,.25),transparent 45%,rgba(5,12,29,.35)); }.daily-experience > * { position:relative;z-index:1; }.daily-experience .dialog-close { position:fixed;z-index:10;right:22px;top:20px;width:45px;height:45px;border:1px solid #e0ad5b;border-radius:50%;color:#f0cf91;background:rgba(6,16,39,.58);font-size:25px; }.daily-experience #result-content { width:min(760px,calc(100vw - 28px));margin:0 auto; }.daily-experience .daily-brand { color:#f3dcae;font:29px/1.2 var(--serif);text-align:center; }.daily-experience .daily-reading-head { margin:14px 0 3px;color:#f8dfb0;font:76px/.95 var(--serif);text-shadow:0 3px 25px rgba(0,0,0,.35); }.daily-experience .daily-whisper { margin-bottom:-16px;color:#e2a888;font:italic 24px/1.3 var(--serif);text-align:center; }.daily-experience .personalized-intro { width:max-content;max-width:100%;margin:22px auto -18px;padding:8px 16px;border:0;border-radius:999px;color:#63394a;background:rgba(247,225,194,.75);font:15px/1.3 var(--serif); }.daily-experience .tarot-card-stage { padding:36px 10px 15px; }.daily-experience .daily-card-stage .tarot-deal { width:min(280px,62vw); }.daily-experience .tarot-card-3d { border-radius:8px;filter:drop-shadow(0 0 18px rgba(246,188,100,.43)); }.daily-experience .tarot-card-label small { color:#f3d39a; }.daily-experience .tarot-card-label strong { color:#f8e5bf;font-size:38px;text-shadow:0 2px 15px rgba(0,0,0,.45); }.daily-experience .daily-save-status { color:#704458;border:0;background:rgba(247,222,191,.78);font:15px/1 var(--serif); }.daily-experience .daily-story-paper { position:relative;padding:30px 42px;border:1px solid #d9b67d;border-radius:20px;background:linear-gradient(rgba(252,239,215,.97),rgba(246,225,194,.97));box-shadow:0 22px 60px rgba(10,8,20,.36),inset 0 0 45px rgba(142,95,45,.08); }.daily-experience .daily-story-paper::before { content:'';position:absolute;inset:8px;border:1px solid rgba(166,115,59,.18);border-radius:14px;pointer-events:none; }.daily-experience .daily-story-paper article { position:relative;grid-template-columns:50px 1fr;padding:17px 0;border-color:rgba(147,99,61,.24); }.daily-experience .daily-story-paper article > span { width:42px;height:42px;border:1px solid #a87d63;border-radius:50%;color:#986274;background:transparent; }.daily-experience .daily-story-paper h3 { color:#6f314c!important;font-size:24px; }.daily-experience .daily-story-paper p { color:#473731;font:18px/1.42 var(--serif); }.daily-experience .daily-signature { color:#70354f!important;font:italic 18px/1.45 var(--serif)!important; }.daily-experience .daily-free-note { color:#f0ca8b;text-align:center;font:19px/1.3 var(--serif); }.daily-experience .result-cta { width:min(620px,100%);margin:18px auto 0; }.daily-experience .result-cta .button { width:100%;border:1px solid #e0ad5c;color:#fff0d1;background:linear-gradient(180deg,#643252,#45233f);font:24px/1 var(--serif); }.daily-experience .forever-free { color:#f2d198; }

@media (max-width:1100px) {
  .dark-hero { grid-template-columns:1fr;padding-top:40px; }.dark-hero-copy { width:min(720px,100%); }.cosmic-result { width:min(780px,100%);margin:auto; }.ivory-insight-band { grid-template-columns:1fr;padding-inline:35px; }.ivory-insight-band .daily-hook { margin:0;border-left:0;border-top:1px solid #cfad77; }
  .rich-report-page .report-layout { grid-template-columns:210px 1fr; }.report-document { padding-inline:20px; }.report-document .report-chapter { padding-right:26px; }.report-document .report-chapter::after { position:static;display:block;width:auto;margin-top:15px; }
}
@media (max-width:760px) {
  .home-dark .site-header { padding:0 18px; }.home-dark .brand { font-size:24px; }.home-dark .brand-mark { width:38px;height:38px; }.dark-hero { padding:38px 18px 22px;gap:12px; }.dark-hero-copy h1 { font-size:45px;line-height:1.02; }.dark-hero-copy > p { font-size:15px; }.dark-hero-copy > p br { display:none; }.date-pair { grid-template-columns:1fr 1fr;gap:10px; }.dark-primary { font-size:16px; }.dark-primary span { right:18px; }
  .live-result.cosmic-result { min-height:410px;padding-top:5px; }.cosmic-result .result-core { min-height:300px;grid-template-columns:82px 1fr 82px; }.cosmic-result .compat-ring { width:174px;height:174px; }.cosmic-result .compat-ring strong { font-size:49px; }.cosmic-result .compat-ring strong small { font-size:24px; }.cosmic-result .compat-ring span { font-size:13px; }.cosmic-result .avatar-orb { width:67px;height:67px; }.cosmic-result .avatar-orb b { font-size:34px; }.cosmic-result .avatar-orb small { top:74px;right:auto;width:100px;border:0;text-align:center;font-size:11px; }.cosmic-result .avatar-orb em { top:90px;right:auto;width:100px;text-align:center;font-size:12px; }.cosmic-result .avatar-partner small,.cosmic-result .avatar-partner em { left:auto; }.cosmic-result .hero-metrics { grid-template-columns:repeat(3,1fr);gap:14px 5px;margin:-5px 0 0; }.cosmic-result .hero-metrics i { width:38px;height:38px;font-size:19px; }.cosmic-result .hero-metrics strong { font-size:16px; }.cosmic-result .hero-metrics span { font-size:10px; }
  .ivory-insight-band { padding:36px 18px 25px;gap:32px; }.ivory-insight-band .compatibility-story-preview h2 { font-size:31px; }.story-signatures { grid-template-columns:1fr 1fr; }.story-signatures .element-union { grid-column:1/-1;grid-row:2; }.story-signatures article { grid-template-columns:70px 1fr; }.story-signatures .portrait { width:68px;height:68px;font-size:36px; }.story-placeholder > p { font-size:15px; }.ivory-insight-band .daily-hook { padding:24px 0 5px; }.ivory-insight-band .daily-card-art { width:145px;height:220px; }
  .rich-report-page { padding-inline:8px!important; }.rich-report-page .report-layout { display:block; }.rich-report-page .report-toc { position:relative;top:auto;min-height:0;grid-template-columns:1fr 1fr;border-radius:8px;margin-bottom:8px; }.rich-report-page .report-toc > strong { grid-column:1/-1; }.rich-report-page .report-toc aside { display:none; }.report-document { padding:0 14px 24px; }.report-document .report-page-head h1 { font-size:34px; }.report-document .report-page-head p { letter-spacing:2px;font-size:11px; }.report-document .report-page-actions { position:static;justify-content:center;margin-top:12px; }.report-document .report-chapter { padding:24px 4px; }.report-document .report-chapter-head h2 { font-size:25px; }.report-document .report-chapter::after { font-size:14px; }
  .result-dialog.daily-experience { padding:18px 10px 45px;background-position:center top; }.daily-experience .dialog-close { right:13px;top:13px; }.daily-experience .daily-brand { font-size:22px; }.daily-experience .daily-reading-head { font-size:58px; }.daily-experience .daily-whisper { font-size:21px; }.daily-experience .daily-card-stage .tarot-deal { width:min(240px,62vw); }.daily-experience .tarot-card-label strong { font-size:31px; }.daily-experience .daily-story-paper { padding:24px 18px; }.daily-experience .daily-story-paper article { grid-template-columns:42px 1fr;gap:12px; }.daily-experience .daily-story-paper article > span { width:36px;height:36px; }.daily-experience .daily-story-paper h3 { font-size:21px; }.daily-experience .daily-story-paper p { font-size:16px; }.daily-experience .result-cta .button { font-size:20px; }
}

/* Editorial v3: atmospheric service + warm personal reading */
.home-dark { background:
  radial-gradient(ellipse at 72% 9%,rgba(113,45,84,.28),transparent 34rem),
  radial-gradient(ellipse at 15% 14%,rgba(28,73,126,.24),transparent 38rem),
  linear-gradient(180deg,#061226 0,#0b1022 48rem,#0d0b18 100%); }
.home-dark::before { opacity:.32; background-image:radial-gradient(rgba(255,221,155,.46) .7px,transparent .8px); background-size:24px 24px; }
.dark-hero { min-height:680px; isolation:isolate; }
.dark-hero::after { content:''; position:absolute; z-index:-1; inset:3% 1% 8% 47%; pointer-events:none; opacity:.48; background:
  radial-gradient(circle at 68% 18%,rgba(255,229,166,.8) 0 1px,transparent 2px),
  radial-gradient(circle at 81% 31%,rgba(255,229,166,.72) 0 1px,transparent 2px),
  radial-gradient(circle at 73% 48%,rgba(255,229,166,.8) 0 1.5px,transparent 2.5px),
  radial-gradient(ellipse at center,rgba(126,54,105,.24),transparent 64%);
  animation:celestial-drift 14s ease-in-out infinite alternate; }
.dark-hero-copy h1 { max-width:720px; font-size:clamp(55px,5vw,77px); }
.dark-hero-copy > p { max-width:690px; color:#ede4d8; font-size:18px; }
.live-result { background:radial-gradient(circle at 50% 30%,rgba(119,44,96,.25),transparent 42%),linear-gradient(145deg,rgba(7,20,42,.95),rgba(18,12,29,.92)); box-shadow:0 28px 90px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.03); }
.compat-ring::after { animation:orbit-spin 28s linear infinite; }
.free-story-result { max-width:1370px; margin:0 auto 34px; padding:0; color:#352b29; animation:paper-rise .7s cubic-bezier(.2,.8,.2,1) both; }
.free-story-result > .compatibility-story-preview { position:relative; padding:54px 64px; border:1px solid #d1b27d; border-radius:20px; background:
  radial-gradient(circle at 92% 8%,rgba(177,128,57,.11),transparent 18rem),
  radial-gradient(circle at 6% 92%,rgba(115,72,104,.07),transparent 18rem),#f7efe1; box-shadow:0 24px 70px rgba(0,0,0,.24); overflow:hidden; }
.free-story-result > .compatibility-story-preview::before { content:'✦'; position:absolute; right:42px; top:28px; color:#b2833e; font-size:28px; }
.compatibility-story-preview h2 { max-width:900px; margin:0 auto 28px; color:#2c2022!important; font-size:clamp(34px,3.5vw,52px); line-height:1.08; text-align:center; }
.story-preview-intro { max-width:1020px; margin:auto; columns:2; column-gap:54px; }
.story-preview-intro p { margin:0 0 18px; color:#514542; font:17px/1.72 var(--serif); break-inside:avoid; }
.story-preview-signs { margin-top:32px; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #d7bf9a; border-bottom:1px solid #d7bf9a; }
.story-preview-signs article { padding:30px 38px; }.story-preview-signs article + article { border-left:1px solid #d7bf9a; }
.story-preview-signs small { color:#986a35; letter-spacing:.12em; text-transform:uppercase; }.story-preview-signs h3 { margin:6px 0 12px; color:#342326!important; font-size:30px; }.story-preview-signs p { color:#514542; line-height:1.72; }
.story-preview-signs dl { display:grid; grid-template-columns:130px 1fr; gap:7px 15px; margin:20px 0 0; font-size:13px; }.story-preview-signs dt { color:#996a37; }.story-preview-signs dd { margin:0; color:#554947; }
.compatibility-story-preview blockquote { max-width:940px; margin:30px auto 0; color:#6f3845; font:italic 19px/1.65 var(--serif); text-align:center; }
.story-full-action { width:min(420px,calc(100% - 40px)); margin:-2px auto 0; display:flex; color:#fff9ef; background:linear-gradient(135deg,#74213c,#a42b49); box-shadow:0 15px 38px rgba(78,17,42,.28); }

.compatibility-dossier { --ink:#2c2221; --text:#403633; --muted:#746761; --line:#d9c4a3; --gold:#a67537; --accent-2:#a82e49; color:#403633; }
.report-chapter { border-color:#cfb98f; border-radius:8px; color:#403633; background:
  linear-gradient(90deg,rgba(174,125,56,.04) 1px,transparent 1px),
  #f8f0e3; background-size:100% 32px; box-shadow:0 16px 45px rgba(0,0,0,.16); }
.report-chapter h2,.report-chapter h3 { color:#2d2221!important; }
.report-chapter-head > span { color:#9c6931; }.report-chapter-head p { color:#6e625d; }
.partner-profile { border-color:#d6c09d; background:rgba(255,252,246,.72); }.partner-profile p { color:#574b47; }.partner-profile span { color:#766963; }
.partner-symbol { background:#fffaf0; box-shadow:0 0 0 8px rgba(164,113,48,.06); }
.dossier-score { background:linear-gradient(#fffaf0,#fffaf0) padding-box,conic-gradient(var(--accent-2) 0 var(--score-angle),rgba(166,117,55,.18) var(--score-angle) 360deg) border-box; box-shadow:0 0 0 1px var(--gold),0 18px 45px rgba(86,45,31,.14); }
.dossier-score small,.dossier-score span { color:#72645e; }.overview-lead { background:rgba(166,117,55,.08); }.overview-lead p { color:#4f4340; }.dossier-metrics { border-color:#d6c09d; background:rgba(255,252,246,.48); }.report-metric i,.dimension-scale { background:#ddd2c5; }.report-metric strong { color:#4a3938; }
.strength-editorial { border-color:#d4bd97; }.strength-editorial article + article { border-color:#d4bd97; }.strength-editorial p,.dimension-body p,.practice-timeline p,.method-grid p { color:#625651; }.report-chapter blockquote { color:#7d4250; }
.conflict-cycle::before { border-color:rgba(166,117,55,.45); }.conflict-cycle span { color:#9b6a32; background:#fff9ed; }.dimension-detail { border-color:#d7c19e; }.dimension-detail > header span { color:#6c5d58; }.dimension-body > div { border-color:#d4bc96; background:rgba(255,255,255,.36); }
.conversation-scripts article,.reflection-questions li { border-color:#d4bd97; }.conversation-scripts .avoid { color:#925966; }.conversation-scripts .try { color:#4f7359; }.reflection-questions li { color:#4b403d; }
.method-grid article { border-color:#d1ba94; background:rgba(255,255,255,.28); }
.symbolic-story-lead { max-width:980px; margin:0 auto 30px; columns:2; column-gap:42px; }.symbolic-story-lead p { margin:0 0 17px; color:#514542; font:17px/1.72 var(--serif); break-inside:avoid; }
.sign-story-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #d3bd98; border-bottom:1px solid #d3bd98; }.sign-story-grid article { padding:30px; }.sign-story-grid article + article { border-left:1px solid #d3bd98; }.sign-story-grid header small { color:#9b6b35; text-transform:uppercase; letter-spacing:.08em; }.sign-story-grid h3 { margin:7px 0 2px; font-size:32px; }.sign-story-grid header em { color:#826b61; font:italic 14px/1.5 var(--serif); }.sign-story-grid p { color:#514642; line-height:1.7; }.symbol-gift { padding-left:15px; border-left:2px solid #719069; }.symbol-shadow { padding-left:15px; border-left:2px solid #a45b6a; }
.element-story { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.element-story .element-intro { grid-column:1/-1; margin:0 0 8px; padding:24px 28px; color:#453a37; background:rgba(166,117,55,.08); font:19px/1.65 var(--serif); }.element-story article { padding:25px; border:1px solid #d2bb94; background:rgba(255,255,255,.3); }.element-story small { color:#9a6831; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.element-story p { color:#554944; line-height:1.72; }
.number-story-lead { max-width:900px; color:#514642; font:18px/1.7 var(--serif); }.number-story-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:26px; }.number-story-grid article { position:relative; min-height:245px; padding:30px 30px 25px 105px; border:1px solid #d2bb94; }.number-story-grid article > strong { position:absolute; left:25px; top:28px; width:58px;height:58px;display:grid;place-items:center;border:1px solid #9d6b31;border-radius:50%;color:#7c3348;font:34px/1 var(--serif); }.number-story-grid small { color:#9b6c36; text-transform:uppercase; letter-spacing:.08em; }.number-story-grid h3 { margin:6px 0 12px; font-size:26px; }.number-story-grid p { color:#5b4f4a; line-height:1.65; }

.daily-story-paper { max-width:820px; margin:26px auto 0; padding:34px 38px; border:1px solid #d3b98d; border-radius:16px; color:#433737; background:linear-gradient(rgba(255,255,255,.25),rgba(255,255,255,.08)),#f7ead8; box-shadow:0 22px 65px rgba(0,0,0,.28); }
.dark-dialog .daily-reading-head,.dark-dialog .tarot-card-label strong { color:#f4dfb3; }.dark-dialog .tarot-card-label small { color:#d7a85b; }
.dark-dialog .daily-card-stage { position:relative; margin:4px 0 18px; padding:42px 20px 30px; border-radius:18px; background:
  radial-gradient(circle at 50% 87%,rgba(255,195,112,.94) 0 2%,rgba(219,111,96,.38) 12%,transparent 34%),
  radial-gradient(circle at 22% 22%,rgba(255,226,168,.7) 0 1px,transparent 2px),
  radial-gradient(circle at 78% 17%,rgba(255,226,168,.65) 0 1px,transparent 2px),
  linear-gradient(180deg,#07152d,#27203d 58%,#704151); box-shadow:inset 0 0 0 1px rgba(215,168,91,.25); }
.daily-story-paper article { display:grid; grid-template-columns:42px 1fr; gap:18px; padding:22px 0; border-top:1px solid #dcc7a5; }.daily-story-paper article:first-child { border-top:0; }.daily-story-paper article > span { width:38px;height:38px;display:grid;place-items:center;border:1px solid #a9783b;border-radius:50%;color:#87425a; }.daily-story-paper h3 { margin:0 0 7px; color:#6f3047!important; font-size:24px; }.daily-story-paper p { margin:0; color:#4f4240; font:16px/1.72 var(--serif); }.daily-signature { margin:24px 0 0!important; color:#7d3d52!important; font-style:italic!important; text-align:right; }.daily-free-note { margin:18px auto!important; color:#e6c47f!important; font:18px/1.2 var(--serif); text-align:center; }.forever-free { color:#cdbb9e; font-size:13px; }.daily-forever-panel { margin-top:22px; padding:26px 30px; border:1px solid rgba(215,168,91,.5); border-radius:12px; background:rgba(30,38,52,.7); }.daily-forever-panel strong { color:#e9cf98; font:26px/1.2 var(--serif); }.daily-forever-panel p { color:#bdb4ad; }
@keyframes celestial-drift { from { transform:translate3d(-8px,-4px,0) rotate(-1deg); } to { transform:translate3d(10px,8px,0) rotate(1deg); } }
@keyframes paper-rise { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:none; } }

@media (max-width:760px) {
  .free-story-result { margin-inline:18px; }.free-story-result > .compatibility-story-preview { padding:35px 20px; }.story-preview-intro,.symbolic-story-lead { columns:1; }.story-preview-signs,.sign-story-grid,.element-story,.number-story-grid { grid-template-columns:1fr; }.story-preview-signs article { padding:24px 5px; }.story-preview-signs article + article,.sign-story-grid article + article { border-left:0; border-top:1px solid #d7bf9a; }.story-preview-signs dl { grid-template-columns:110px 1fr; }.compatibility-story-preview blockquote { font-size:17px; }
  .report-chapter { background-size:100% 28px; }.symbolic-story-lead p { font-size:16px; }.sign-story-grid article { padding:24px 6px; }.element-story .element-intro { padding:20px; }.element-story article { padding:20px; }.number-story-grid article { padding:24px 18px 22px 86px; }.daily-story-paper { padding:22px 18px; }.daily-story-paper article { grid-template-columns:34px 1fr; gap:12px; }.daily-story-paper article > span { width:32px;height:32px; }.daily-story-paper h3 { font-size:21px; }.daily-story-paper p { font-size:15px; }
}

/* Final concept lock — must remain the last cascade layer. */
.home-dark .dark-hero { min-height:570px; }
.home-dark .dark-hero::after { inset:0 0 0 38%;opacity:.72;background:radial-gradient(ellipse at 55% 48%,rgba(118,48,80,.28),transparent 36%),repeating-radial-gradient(circle at 61% 47%,transparent 0 86px,rgba(222,174,96,.12) 87px 88px,transparent 89px 115px); }
.home-dark .dark-hero-copy h1 { max-width:630px;color:#f3dfbb;font-size:clamp(54px,4.6vw,72px);line-height:.96; }
.home-dark .dark-hero-copy > p { max-width:620px;color:#f1e5d7;font-size:20px; }
.home-dark .live-result.cosmic-result { min-height:490px;padding:0;border:0;border-radius:0;background:none;box-shadow:none; }
.ivory-insight-band .free-story-result > .compatibility-story-preview { padding:0;border:0;border-radius:0;background:none;box-shadow:none; }
.report-document .report-chapter { margin:0;padding:26px 160px 28px 18px;border:0;border-bottom:1px solid #bda06d;border-radius:0;background:transparent;background-image:none;box-shadow:none; }
.result-dialog.daily-experience .daily-card-stage { margin:0;padding:36px 10px 15px;border-radius:0;background:none;box-shadow:none; }
@media (max-width:1100px) { .report-document .report-chapter { padding-right:26px; } }
@media (max-width:760px) {
  .home-dark .dark-hero { min-height:0;padding:38px 18px 22px; }
  .home-dark .dark-hero-copy h1 { font-size:45px;line-height:1.02; }
  .home-dark .dark-hero-copy > p { font-size:15px; }
  .report-document .report-chapter { padding:24px 4px; }
}
