:root{
  color-scheme:dark;
  --ink:#e9edf7;
  --muted:#a8b4c9;
  --paper:#0b132b;
  --panel:#111d39;
  --panel-raised:#162442;
  --line:#2a3858;
  --gold:#e5b85c;
  --gold-bright:#f1cd7b;
  --blue:#91a8d4;
  --serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --sans:'DM Sans',Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.7 var(--sans)}
a{color:inherit}
.site-header{min-height:78px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(11,19,43,.94)}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;letter-spacing:.015em;font-size:19px;color:var(--ink)}
.brand-mark{color:var(--gold);font-size:25px;line-height:1}
.site-header nav{display:flex;gap:32px}
.site-header nav a{text-decoration:none;color:var(--muted);font-size:14px;transition:color .18s ease}
.site-header nav a:hover,.site-header nav [aria-current=page]{color:var(--gold-bright)}
.hero{min-height:590px;padding:76px max(10vw,30px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5vw;background:radial-gradient(ellipse at 78% 43%,rgba(50,73,119,.42),transparent 43%),radial-gradient(ellipse at 10% 3%,rgba(47,64,103,.2),transparent 38%),var(--paper);overflow:hidden}
.hero-copy{max-width:570px}
.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700;color:var(--gold);text-transform:uppercase}
.hero h1,.article-page h1{font:500 clamp(42px,6vw,72px)/1.08 var(--serif);letter-spacing:-.035em;margin:18px 0;color:#f3f3f5}
.hero h1 em{color:var(--gold-bright);font-weight:500}
.hero-copy>p{max-width:490px;color:#c1cadb;font-size:18px;line-height:1.75;margin:24px 0 28px}
.button{display:inline-flex;gap:23px;align-items:center;justify-content:center;background:var(--gold);color:#121a2d;border:1px solid var(--gold);border-radius:5px;padding:14px 20px;text-decoration:none;font:700 14px var(--sans);cursor:pointer;transition:transform .18s ease,background .18s ease}
.button:hover{background:var(--gold-bright);transform:translateY(-2px)}
.button span{font-size:18px;color:#4b3914}
.hero-footnote{margin-top:18px;font-size:12px;color:#9daac1}
.hero-art{height:390px;max-width:440px;width:100%;position:relative;justify-self:center;display:grid;place-items:center}
.orbit{position:absolute;border:1px solid rgba(229,184,92,.32);border-radius:50%;transform:rotate(-27deg)}
.orbit-one{width:370px;height:215px}.orbit-two{width:285px;height:350px;transform:rotate(37deg);border-color:rgba(145,168,212,.28)}
.sun-core{width:138px;height:138px;border-radius:50%;background:radial-gradient(circle,#f1cd7b 0,#d3a74e 72%,#9b7435 100%);color:#17203a;display:grid;place-items:center;font-size:75px;box-shadow:0 0 0 17px rgba(229,184,92,.09),0 0 75px rgba(229,184,92,.18)}
.planet{position:absolute;border-radius:50%;width:58px;height:58px;display:grid;place-items:center;background:#172442;border:1px solid #596b8f;color:#d9e2f3;font-size:29px;box-shadow:0 5px 22px rgba(0,0,0,.24)}
.planet-a{top:48px;right:93px}.planet-b{bottom:65px;left:59px;background:#202b49}
.sparkle{position:absolute;color:var(--gold-bright)}.sparkle-a{top:77px;left:75px;font-size:30px}.sparkle-b{bottom:62px;right:52px;font-size:25px}
.orbit-label{position:absolute;right:-4px;bottom:32px;font-size:9px;letter-spacing:.17em;line-height:1.7;color:#aab6cc}
.home-section{padding:80px max(10vw,30px)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}
.section-heading h2,.home-feature h2,.home-section h2{font:500 36px/1.2 var(--serif);margin:8px 0;color:#f0f2f7}
.text-link{font-size:14px;text-decoration:none;border-bottom:1px solid rgba(229,184,92,.7);padding:4px 0;color:var(--gold-bright)}
.text-link span{margin-left:9px}.section-intro{max-width:660px;color:var(--muted);margin:14px 0 32px}
.sign-strip{display:grid;grid-template-columns:repeat(6,1fr) auto;gap:12px}
.sign-strip a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:19px 8px;border:1px solid var(--line);border-radius:8px;text-decoration:none;background:var(--panel);transition:border-color .18s,background .18s}
.sign-strip a:hover{border-color:#65779b;background:var(--panel-raised)}
.sign-strip a span{font-size:27px;color:var(--gold)}.sign-strip strong{font-size:13px;color:#e3e8f2}.sign-strip .all-signs{justify-content:center;color:var(--gold-bright);font-size:12px;white-space:nowrap}
.home-feature{padding:58px max(10vw,30px);background:#101c36;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:90px 1fr;gap:24px;align-items:center}
.home-feature p{max-width:720px;color:#b3bfd2}.feature-mark{width:70px;height:70px;border-radius:50%;background:#202b49;border:1px solid #3b4b6b;display:grid;place-items:center;color:var(--gold);font-size:34px}
.home-section#about{padding-top:72px;padding-bottom:100px}.home-section#about .section-intro{max-width:770px}
.site-footer{padding:46px max(5vw,24px);background:#080f22;border-top:1px solid var(--line);color:#e1e7f1}
.site-footer .brand{color:#f1f3f8}.site-footer p{color:#abb8ce;font-size:13px}.site-footer>div{display:flex;gap:22px;margin:20px 0}.site-footer a:not(.brand){color:var(--gold-bright);font-size:13px}.site-footer small{display:block;max-width:720px;color:#9eabc1;font-size:11px}
.article-page{padding:34px 24px 100px;min-height:70vh}.article-page article{max-width:790px;margin:0 auto}
.breadcrumbs{max-width:1000px;margin:0 auto 36px;display:flex;gap:9px;color:#8492ac;font-size:12px}.breadcrumbs a{text-decoration:none;color:var(--gold-bright)}
.article-page h1{font-size:clamp(38px,6vw,56px);margin:12px 0}.lede{font:500 19px/1.65 var(--serif);color:#b8c4d8;max-width:700px;margin:0 0 30px}
.compat-result{padding:25px 30px;border:1px solid #334362;background:linear-gradient(135deg,#172442,#111d39);border-radius:10px;display:grid;grid-template-columns:170px 1fr;gap:24px;align-items:center;margin:34px 0}
.pair-symbols{display:flex;align-items:center;justify-content:center;gap:11px}.pair-symbols span{font-size:45px;color:var(--gold)}.pair-symbols i{font-style:normal;color:#8798b6}
.score-number{font:500 30px var(--serif);margin-right:10px;color:var(--gold-bright)}.score-number small{font:400 13px var(--sans);color:#aab6c9}.stars{color:var(--gold);letter-spacing:2px}
.compat-result p{margin:5px 0 0;color:#c0cadb;font-size:14px}
.reading{max-width:720px;margin:38px auto;color:#c7d0df}.reading h2,.directory-section h2,.try-another h2,.related h2{font:500 26px/1.3 var(--serif);color:#f0f2f7;margin:38px 0 10px}.reading p{margin:0 0 18px}.reading .intro{font:500 18px/1.75 var(--serif)}
.note{background:#14213e;border:1px solid #334362;border-left:3px solid var(--gold);padding:18px 21px;margin:30px 0;color:#bac6d9;font-size:14px}.note strong{color:#f1d28e}
.try-another{padding:28px;background:#111d39;border:1px solid #2d3c5b;border-radius:10px;margin:46px 0}.try-another h2{margin:0 0 4px}.try-another>p,.directory-section>p{color:var(--muted);font-size:14px;margin:0 0 18px}
.pair-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.pair-form label{display:grid;gap:6px;font-weight:600;font-size:12px;color:#c1cbdb}.pair-form select{height:46px;padding:0 12px;border:1px solid #3c4c6d;border-radius:5px;background:#0d1730;color:#edf1f8;font:14px var(--sans)}.pair-form select:focus-visible,.button:focus-visible,a:focus-visible{outline:3px solid var(--gold-bright);outline-offset:3px}.pair-form .button{height:46px;white-space:nowrap}
.related{margin-top:50px}.related h2{margin-bottom:17px}.link-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.link-grid a{background:#111d39;border:1px solid #2a3958;padding:12px 15px;border-radius:5px;text-decoration:none;font-size:13px;color:#e0e7f3;display:flex;justify-content:space-between;align-items:center}.link-grid a span{color:var(--gold)}.link-grid a:hover{border-color:#7386ac;background:#172442}
.checker{padding:32px;background:linear-gradient(135deg,#172442,#111d39);border:1px solid #344464;border-radius:12px;text-align:center;margin:34px 0}.checker-orbit{font-size:38px;color:var(--gold)}.checker h2{font:500 27px var(--serif);margin:4px 0;color:#f0f2f7}.checker>p{color:var(--muted);margin:2px 0 22px}.checker .pair-form{text-align:left;max-width:650px;margin:0 auto}
.directory-section{margin-top:54px}.directory-section .link-grid{grid-template-columns:repeat(3,1fr)}
.sign-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:35px 0}.sign-card{display:flex;align-items:center;gap:14px;padding:17px;border:1px solid #2a3958;border-radius:8px;background:#111d39;text-decoration:none;color:#e6ebf4}.sign-card:hover{border-color:#7386ac;background:#172442}.sign-card>span{font-size:31px;color:var(--gold)}.sign-card div{display:grid;line-height:1.4}.sign-card small{font-size:11px;color:#a8b4c9}.sign-card b{margin-left:auto;color:var(--gold);font-weight:400}
.sign-hero{display:flex;gap:25px;align-items:center;padding:27px 30px;border:1px solid #344464;border-radius:10px;background:radial-gradient(ellipse at 10% 50%,rgba(229,184,92,.11),transparent 52%),#111d39;margin-bottom:32px}.sign-hero h1{margin:6px 0;font-size:47px}.sign-hero .lede{font:14px var(--sans);margin:0}.sign-large{font-size:70px;color:var(--gold)}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid #344464;border-radius:8px;overflow:hidden;margin:22px 0 32px}.facts div{padding:13px 16px;background:#111d39;border-bottom:1px solid #2a3958}.facts div:nth-child(odd){border-right:1px solid #2a3958}.facts dt{font-size:11px;color:#9eabc1;text-transform:uppercase;letter-spacing:.08em}.facts dd{margin:2px 0 0;font-weight:600;color:#ebeff6}
.directory article{max-width:1000px}.directory h1{margin-top:10px}.directory .lede{max-width:770px}.directory .breadcrumbs{max-width:1000px}.directory .note{margin-top:44px}
@media(max-width:850px){.hero{padding:60px 7vw;grid-template-columns:1fr .8fr;gap:10px}.hero-art{transform:scale(.85)}.sign-strip{grid-template-columns:repeat(4,1fr)}.sign-strip .all-signs{grid-column:span 4;flex-direction:row}.directory-section .link-grid{grid-template-columns:repeat(2,1fr)}.sign-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){body{font-size:16px}.site-header{min-height:70px;padding:10px 18px;gap:12px}.site-header nav{gap:12px}.site-header nav a{font-size:12px}.brand{font-size:16px;gap:7px}.brand-mark{font-size:21px}.hero{display:flex;flex-direction:column;align-items:flex-start;padding:54px 25px 30px}.hero h1{font-size:50px}.hero-copy>p{font-size:16px}.hero-art{align-self:center;height:280px;transform:scale(.72);transform-origin:center top;margin-bottom:-70px}.home-section{padding:57px 23px}.section-heading{align-items:flex-start;flex-direction:column}.section-heading h2,.home-feature h2,.home-section h2{font-size:30px}.sign-strip{grid-template-columns:repeat(3,1fr)}.sign-strip .all-signs{grid-column:span 3}.home-feature{padding:43px 23px;grid-template-columns:52px 1fr;gap:16px}.feature-mark{width:50px;height:50px;font-size:26px}.site-footer{padding:38px 23px}.site-footer>div{flex-wrap:wrap;gap:13px}.article-page{padding:25px 18px 70px}.breadcrumbs{margin-bottom:25px}.article-page h1{font-size:39px}.lede{font-size:17px}.compat-result{grid-template-columns:1fr;text-align:center;gap:9px;padding:22px}.pair-form{grid-template-columns:1fr}.pair-form .button{width:100%}.try-another{padding:22px 17px}.link-grid,.directory-section .link-grid{grid-template-columns:1fr}.sign-grid{grid-template-columns:1fr 1fr;gap:8px}.sign-card{padding:12px 9px;gap:8px}.sign-card>span{font-size:26px}.sign-card small{font-size:10px}.sign-hero{padding:22px 17px;gap:15px}.sign-hero h1{font-size:34px}.sign-large{font-size:52px}.facts{grid-template-columns:1fr}.facts div:nth-child(odd){border-right:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.glance-label{display:block;color:var(--gold-bright);font-size:11px;letter-spacing:.14em;margin-bottom:5px}.compat-result p{line-height:1.65}.compat-result p b{color:#f0d28d}.reading ul{padding-left:22px;margin:0 0 22px}.reading li{padding:0 0 8px 4px}.reading li::marker{color:var(--gold)}
