:root{--night:#100618;--deep:#210b35;--purple:#3c1557;--plum:#5e1f66;--gold:#e5b94f;--pale:#fff2c9;--cream:#fffaf0;--ink:#291934}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--cream);font-family:"Noto Serif JP",serif;font-size:16px;line-height:1.8}.fortune-strip{background:linear-gradient(90deg,#9a651a,#f4d57e,#a96c14);color:#2a1400;text-align:center;font-weight:700;font-size:.82rem;letter-spacing:.12em;padding:.35rem}.fortune-strip span{margin:0 1rem}.site-header{height:86px;padding:0 clamp(1.2rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;background:rgba(19,6,30,.97);border-bottom:1px solid #6b4520;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:.8rem;color:var(--pale);text-decoration:none}.brand-moon{font-size:2.5rem;color:var(--gold);filter:drop-shadow(0 0 8px #c98c26)}.brand b{display:block;font-size:1.35rem;letter-spacing:.16em}.brand small{display:block;color:#b99465;font-size:.55rem;letter-spacing:.19em;line-height:1.2}.site-header nav{display:flex;gap:2rem}.site-header nav a{color:#e8d7ee;text-decoration:none;font-size:.9rem}.site-header nav a:hover{color:var(--gold)}.menu-button{display:none}.hero{height:min(700px,calc(100vh - 115px));min-height:570px;position:relative;overflow:hidden;border-bottom:1px solid #8b6226}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,3,17,.94) 0%,rgba(18,5,29,.75) 35%,rgba(18,5,29,.12) 66%,rgba(10,3,17,.12)),linear-gradient(0deg,rgba(12,4,19,.55),transparent 45%)}.hero-copy{position:absolute;left:clamp(1.5rem,8vw,8rem);top:50%;transform:translateY(-50%);max-width:580px}.eyebrow,.section-kicker{color:var(--gold);font-size:.84rem;letter-spacing:.24em;font-weight:700}.hero h1{font-size:clamp(3rem,6vw,5.8rem);line-height:1.2;letter-spacing:.08em;margin:.7rem 0 1rem;text-shadow:0 3px 18px #000}.hero-lead{font-size:1.1rem;color:#f2e6f3;margin-bottom:2rem}.gold-button{display:inline-flex;align-items:center;justify-content:center;gap:1.5rem;color:#271300;text-decoration:none;font-weight:900;letter-spacing:.08em;padding:1rem 2.2rem;background:linear-gradient(180deg,#ffe39a,#c98a24);border:1px solid #ffefb8;box-shadow:0 0 0 4px rgba(32,11,50,.8),0 0 28px rgba(234,182,70,.45)}.gold-button span{font-size:1.7rem}.free-note{font-size:.75rem;color:#bbaec2}.master-name{position:absolute;right:5%;bottom:4%;text-align:right;text-shadow:0 2px 8px #000}.master-name small,.master-name span{display:block}.master-name strong{font-size:1.7rem;letter-spacing:.2em}.master-name span{font-size:.7rem;color:#cfb783}.reading{padding:6rem clamp(1.2rem,6vw,6rem);background:radial-gradient(circle at 50% 0,#422052 0,#180a24 35%,#100618 70%);text-align:center}.ornament{color:var(--gold);letter-spacing:.7em}.reading h2,.methods h2,.teachers h2,.guide h2,.column h2{font-size:clamp(2rem,4vw,3.2rem);letter-spacing:.1em;margin:.2rem 0}.section-intro{color:#d2c3d6}.concerns{max-width:1050px;margin:2.8rem auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.concern{font:inherit;color:#e9ddee;background:linear-gradient(180deg,#2e123e,#190a24);border:1px solid #704b7d;padding:1.5rem .7rem;cursor:pointer;transition:.2s}.concern span,.concern b,.concern small{display:block}.concern span{font-size:1.9rem;color:var(--gold)}.concern b{font-size:1.25rem}.concern small{font-size:.73rem;color:#baa9c0}.concern:hover,.concern.active{border-color:#f0c763;box-shadow:inset 0 0 22px rgba(222,176,68,.15),0 0 15px rgba(222,176,68,.12);transform:translateY(-3px)}.birth-panel{max-width:1050px;margin:auto;padding:2rem;display:grid;grid-template-columns:auto 1fr 1.3fr;gap:1.5rem;align-items:center;text-align:left;background:linear-gradient(120deg,#51205e,#261034);border:1px solid #aa7933;box-shadow:0 15px 50px #08030e}.crystal-mark{width:75px;height:75px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:2rem;background:radial-gradient(circle at 35% 30%,#fff,#9d70c1 12%,#411c63 45%,#160820 75%);box-shadow:0 0 22px #9560b4}.selected-label{font-size:.7rem;color:var(--gold);margin:0}.birth-panel h3{margin:0;font-size:1.25rem}.birth-panel p{margin:0;font-size:.83rem;color:#c7b6cc}.birth-panel label{display:block;font-size:.78rem;margin-bottom:.3rem}.form-row{display:flex}.form-row input{min-width:0;flex:1;font:inherit;padding:.75rem;background:#fffaf0;border:1px solid #d0af63;color:#25132e}.form-row button{font:inherit;font-weight:700;border:1px solid #ffe294;background:linear-gradient(#f4d47b,#bb7a1d);padding:.75rem 1rem;cursor:pointer;color:#291600}.demo-result{max-width:1050px;margin:1rem auto 0;padding:1rem;background:#fff5d4;color:#32193a;border:2px solid var(--gold)}.methods{padding:6rem clamp(1.2rem,6vw,6rem);text-align:center;background:#f9f0df;color:var(--ink);position:relative}.methods:before,.methods:after{content:"";position:absolute;left:0;right:0;height:8px;background:linear-gradient(90deg,#6c3b14,#f4cf75,#6c3b14)}.methods:before{top:0}.methods:after{bottom:0}.method-grid{max-width:1100px;margin:3rem auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#b78f55;border:1px solid #b78f55}.method-grid article{background:#fffaf0;padding:2.2rem 1.3rem}.method-grid span{width:65px;height:65px;display:grid;place-items:center;margin:auto;border:1px solid #b48a44;border-radius:50%;color:#6b2b74;font-size:1.25rem}.method-grid h3{margin:.8rem 0 .2rem;color:#47194d}.method-grid p{font-size:.82rem;margin:0;color:#725e70}.teachers{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:linear-gradient(135deg,#180822,#46144d);padding:6rem clamp(1.2rem,7vw,7rem);gap:5rem}.teacher-copy{max-width:500px}.teacher-copy>p:not(.section-kicker){color:#d9cadd}.outline-button{font:inherit;color:var(--pale);background:transparent;border:1px solid var(--gold);padding:.8rem 1.5rem;cursor:pointer;text-decoration:none;display:inline-block}.teachers figure{margin:0;border:1px solid #b17a2b;padding:.6rem;background:#170820;box-shadow:0 20px 50px #07020a}.teachers figure img{width:100%;height:330px;object-fit:cover;object-position:72% center;display:block}.teachers figcaption{padding:1rem}.teachers figcaption small,.teachers figcaption strong{display:block}.teachers figcaption small{color:var(--gold)}.teachers figcaption strong{font-size:1.5rem}.teachers figcaption p{font-size:.82rem;color:#cdbdd0}.guide{background:#24102e;padding:2.5rem clamp(1.2rem,8vw,8rem);display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:2rem;border-block:1px solid #8e6330}.yulian img{width:120px;height:120px;border-radius:50%;display:block;border:3px solid var(--gold)}.guide h2{font-size:1.7rem}.guide p{margin:.2rem 0;color:#d3c3d6}.column{padding:6rem clamp(1.2rem,7vw,7rem);text-align:center;background:#f8efdf;color:var(--ink)}.column-grid{max-width:1100px;margin:2.5rem auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;text-align:left}.column-grid article{background:white;border-top:4px solid #643266;padding:1.5rem;box-shadow:0 8px 22px #bcae9a55}.column-grid small{color:#7d367a}.column-grid h3{font-size:1.05rem;min-height:5rem}.column-grid a{color:#722d70;font-size:.84rem;font-weight:700}footer{text-align:center;padding:4rem 1rem;background:#0b0411;color:#a99aac}.footer-brand{justify-content:center;margin-bottom:1rem}footer p{font-size:.8rem}footer>small{font-size:.65rem}.demo-result[hidden]{display:none}
@media(max-width:800px){.site-header{height:70px;padding:0 1rem}.brand b{font-size:1rem}.brand-moon{font-size:2rem}.menu-button{display:block;background:transparent;color:var(--pale);border:1px solid #8d6635;padding:.4rem .7rem}.site-header nav{display:none;position:absolute;top:70px;left:0;right:0;background:#180922;padding:1rem;flex-direction:column;gap:.5rem}.site-header nav.open{display:flex}.hero{height:660px}.hero-image{object-position:64% center}.hero-shade{background:linear-gradient(0deg,rgba(10,3,17,.98) 0%,rgba(16,4,25,.82) 45%,rgba(16,4,25,.15) 78%)}.hero-copy{top:auto;bottom:2rem;left:1.3rem;right:1.3rem;transform:none}.hero h1{font-size:2.7rem}.hero-lead{font-size:.9rem}.master-name{top:2rem;bottom:auto;right:1rem}.master-name strong{font-size:1.2rem}.concerns{grid-template-columns:repeat(2,1fr)}.birth-panel{grid-template-columns:1fr;text-align:center}.crystal-mark{margin:auto}.form-row{flex-direction:column;gap:.5rem}.method-grid{grid-template-columns:repeat(2,1fr)}.teachers{grid-template-columns:1fr;gap:2rem}.guide{grid-template-columns:90px 1fr}.yulian img{width:85px;height:85px}.guide .outline-button{grid-column:1/-1;text-align:center}.column-grid{grid-template-columns:1fr}.column-grid h3{min-height:auto}}
@media(max-width:440px){.fortune-strip{font-size:.7rem}.fortune-strip span{margin:0 .3rem}.hero{min-height:610px}.hero h1{font-size:2.3rem}.gold-button{width:100%}.reading,.methods,.teachers,.column{padding-block:4rem}.concerns{gap:.6rem}.concern{padding:1rem .4rem}.concern small{font-size:.65rem}.method-grid{grid-template-columns:1fr}.guide{grid-template-columns:1fr;text-align:center}.yulian{margin:auto}.guide .outline-button{grid-column:auto}}

/* Ornate fortune-salon decoration layer */
body{position:relative}
body:before{display:none}
.fortune-strip{background:linear-gradient(90deg,#81500b,#f9df8e,#b57818,#f6d77b,#81500b);border-block:1px solid #fff0b0;box-shadow:0 2px 14px #e8b44b77}
.site-header{background-color:rgba(19,6,30,.97);background-image:linear-gradient(45deg,rgba(229,185,79,.035) 25%,transparent 25%,transparent 75%,rgba(229,185,79,.035) 75%),linear-gradient(-45deg,rgba(229,185,79,.035) 25%,transparent 25%,transparent 75%,rgba(229,185,79,.035) 75%);background-size:22px 22px;border-bottom:3px double #a77425;box-shadow:0 7px 18px #050108}
.site-header:after{content:"◆　✦　◆";position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);color:#d9a640;background:#190720;padding:0 .8rem;font-size:.65rem;letter-spacing:.4em}
.brand b{text-shadow:0 0 12px #c38d2d55}.site-header nav a{padding:.2rem .4rem;border-bottom:1px solid transparent}.site-header nav a:hover{border-color:var(--gold)}
.hero{border:8px ridge #8b6226;outline:1px solid #e2bc65;outline-offset:-14px;box-shadow:inset 0 0 40px #000}
.hero:before,.hero:after{position:absolute;z-index:3;color:#f0c967;font-size:3rem;line-height:1;text-shadow:0 0 12px #efbd4d;pointer-events:none}.hero:before{content:"❦";top:22px;left:25px}.hero:after{content:"❦";right:25px;bottom:22px;transform:rotate(180deg)}
.reading{background-color:#100618;background-image:linear-gradient(45deg,transparent 47%,rgba(224,178,76,.035) 48% 49%,transparent 50%),linear-gradient(-45deg,transparent 47%,rgba(174,120,198,.03) 48% 49%,transparent 50%),linear-gradient(180deg,#341343 0,#16081f 45%,#100618 100%);background-size:64px 64px,64px 64px,auto;position:relative;overflow:hidden}
.reading:before,.reading:after{content:"☾\A ✦\A ☼\A ✦\A ☽";white-space:pre;position:absolute;top:110px;color:#b68942;opacity:.18;font-size:2.4rem;line-height:2.3}.reading:before{left:4%}.reading:after{right:4%;transform:scaleX(-1)}
.ornament{text-shadow:0 0 14px #edbd54;font-size:1.2rem}
.concern{background-color:#1d0a29;background-image:radial-gradient(circle at 50% 0,rgba(181,107,200,.25),transparent 60%),linear-gradient(45deg,transparent 48%,rgba(220,177,78,.06) 49% 51%,transparent 52%);background-size:auto,18px 18px;border:3px double #936b32;position:relative}.concern:before,.concern:after{content:"◆";position:absolute;color:#c8963b;font-size:.45rem}.concern:before{top:4px;left:7px}.concern:after{right:7px;bottom:4px}
.birth-panel{background-color:#32143e;background-image:radial-gradient(circle at 10% 50%,#6b2d72aa,transparent 35%),repeating-linear-gradient(135deg,transparent 0 12px,rgba(239,196,95,.035) 13px 14px);border:5px double #c69338;outline:1px solid #6b3f18;outline-offset:5px;box-shadow:0 15px 50px #08030e,inset 0 0 35px #1b0926;position:relative}.birth-panel:before,.birth-panel:after{content:"✦";position:absolute;color:#f3cb68;text-shadow:0 0 8px #f0bd44}.birth-panel:before{left:8px;top:3px}.birth-panel:after{right:8px;bottom:3px}
.methods{background-color:#f9f0df;background-image:linear-gradient(45deg,rgba(103,55,104,.035) 25%,transparent 25%,transparent 75%,rgba(103,55,104,.035) 75%),linear-gradient(-45deg,rgba(183,126,43,.035) 25%,transparent 25%,transparent 75%,rgba(183,126,43,.035) 75%);background-size:32px 32px,32px 32px}
.method-grid article{background:rgba(255,250,240,.91);position:relative;box-shadow:inset 0 0 24px rgba(129,78,28,.08)}.method-grid article:before,.method-grid article:after{position:absolute;color:#b08a4d;font-size:1.2rem}.method-grid article:before{content:"⌜";top:5px;left:9px}.method-grid article:after{content:"⌟";right:9px;bottom:5px}
.teachers{background-color:#2b0c35;background-image:repeating-linear-gradient(45deg,transparent 0 34px,rgba(222,173,66,.025) 35px 36px),repeating-linear-gradient(-45deg,transparent 0 34px,rgba(156,90,171,.025) 35px 36px);background-size:auto;border-block:8px ridge #896020}
.teachers figure{border:8px ridge #b17a2b;outline:2px solid #f0cc75;outline-offset:-14px;padding:1rem;box-shadow:0 20px 50px #07020a,0 0 35px #b2752f33;position:relative}.teachers figure:before{content:"✦　☾　✦";position:absolute;top:-25px;left:50%;transform:translateX(-50%);background:#270b30;color:#efc963;padding:.1rem 1rem;white-space:nowrap}
.guide{background-color:#24102e;background-image:repeating-linear-gradient(90deg,transparent 0 78px,rgba(230,183,74,.045) 79px 80px),linear-gradient(135deg,#35133e,#1b0924);border-block:6px double #a97a34;box-shadow:inset 0 0 35px #110518}
.column{background-color:#f8efdf;background-image:repeating-linear-gradient(0deg,transparent 0 38px,rgba(109,56,107,.045) 39px 40px),linear-gradient(45deg,transparent 48%,rgba(183,130,43,.025) 49% 51%,transparent 52%);background-size:auto,48px 48px}
.column-grid article{background:rgba(255,255,255,.93);border:5px double #9e7740;box-shadow:0 8px 22px #bcae9a66,inset 0 0 22px #ddcba744;position:relative}.column-grid article:after{content:"❧";position:absolute;right:12px;bottom:5px;color:#9b6a9b;font-size:1.4rem}
footer{background-color:#0b0411;background-image:linear-gradient(45deg,transparent 48%,rgba(226,177,67,.025) 49% 51%,transparent 52%),linear-gradient(-45deg,transparent 48%,rgba(124,65,139,.025) 49% 51%,transparent 52%);background-size:54px 54px;border-top:6px double #8b6226}
@media(max-width:800px){.hero:before,.hero:after{font-size:2rem}.reading:before,.reading:after{display:none}.birth-panel{outline-offset:2px}.site-header:after{display:none}}

/* Unframed divination marks: avoid generic circled-icon treatment */
.hero h1{font-size:clamp(3rem,4.5vw,4.6rem);font-weight:500}
.hero h1 span{display:block;white-space:nowrap}
.method-grid span{width:auto;height:58px;border:0;border-radius:0;display:flex;align-items:center;justify-content:center;position:relative;margin:0 auto .55rem;color:#713374;font-family:"Noto Serif JP",serif;font-size:1.85rem;font-weight:600;line-height:1;text-shadow:0 2px 10px rgba(113,51,116,.16)}
.method-grid span:after{content:"◆";position:absolute;left:50%;bottom:-5px;transform:translateX(-50%) scaleX(1.8);color:#bd9148;font-size:.3rem;text-shadow:none}
@media(max-width:800px){.hero h1{font-size:clamp(2.25rem,8vw,2.7rem)}}

/* Keep Mincho display type elegant rather than heavy */
h1,h2,h3,.brand b,.master-name strong,.concern b,.teachers figcaption strong{font-weight:500}
.teachers h2{font-size:clamp(2rem,3.2vw,2.75rem)}
.teachers h2 span{display:block;white-space:nowrap}
@media(max-width:440px){.teachers h2{font-size:clamp(1.75rem,8vw,2.15rem)}}

/* Cap the main visual and protect the subject's head from cropping */
.hero{width:100%;max-width:none;height:min(680px,calc(100vh - 115px));margin-inline:auto;background:#12071b}
.hero-picture{position:absolute;inset:0;display:block;overflow:hidden}
.hero-image{position:absolute;top:50%;left:47%;width:1916px;max-width:none;height:821px;object-fit:contain;transform:translate(-50%,-50%)}
@media(max-width:800px){.hero{height:660px;max-width:none}.hero-image{top:0;left:50%;width:100%;height:100%;object-fit:cover;object-position:center top;transform:translateX(-50%)}}

.zodiac-result{max-width:900px;margin:2rem auto 0;padding:2.8rem clamp(1.2rem,5vw,4rem);color:#f8eed8;background:radial-gradient(circle at 50% 0,rgba(122,62,139,.65),transparent 35%),linear-gradient(145deg,#351241,#16081f 70%);border:5px double #c39239;outline:1px solid #6f431c;outline-offset:5px;box-shadow:0 18px 55px #050108,inset 0 0 35px #0c0312;text-align:center;position:relative}.zodiac-result[hidden]{display:none}.zodiac-result:before,.zodiac-result:after{content:"✦";position:absolute;color:#edc45e}.zodiac-result:before{top:.55rem;left:.8rem}.zodiac-result:after{right:.8rem;bottom:.55rem}.result-kicker{margin:0;color:#edc45e;font-size:.78rem;letter-spacing:.22em;font-weight:700}.result-sign{font-size:3.7rem;line-height:1.2;color:#f1c75f;text-shadow:0 0 18px #b46ac7;margin:.7rem 0}.result-label{margin:0;color:#cdb9d3;font-size:.8rem}.zodiac-result h3{font-size:clamp(2rem,5vw,3.2rem);letter-spacing:.14em;margin:.15rem 0;color:#fff5d9}.result-period{margin:0 0 1.4rem;color:#cda963;font-size:.78rem}.zodiac-result blockquote{max-width:680px;margin:1.2rem auto 2rem;padding:1.2rem;border-block:1px solid #8d6931;font-size:1.15rem;line-height:2;color:#fff}.result-reading{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#7f5a2d;border:1px solid #9f773c;text-align:left}.result-reading>h4,.result-reading>p{margin:0;background:#24102e;padding:1rem 1.2rem}.result-reading>h4{color:#efc65e}.result-reading>p{color:#e3d5e5;font-size:.9rem}.result-note{font-size:.7rem;color:#a999ae;margin:1.5rem 0}.result-links{display:flex;justify-content:center;gap:1rem}.result-links a{color:#f1cd73;border:1px solid #a77834;padding:.6rem 1.2rem;text-decoration:none;font-size:.82rem}@media(max-width:600px){.zodiac-result{padding:2.3rem 1rem}.result-reading{grid-template-columns:1fr}.result-reading>h4{padding-bottom:.25rem}.result-reading>p{padding-top:.25rem}.result-links{flex-direction:column}}

.birth-label{display:block;font-size:.78rem;margin-bottom:.3rem}.birth-selects{display:grid;grid-template-columns:minmax(8rem,1.5fr) minmax(5rem,1fr) minmax(5rem,1fr);gap:.45rem;flex:1}.birth-selects label{margin:0}.birth-selects label>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.birth-selects select{width:100%;height:3.4rem;padding:0 2.2rem 0 .9rem;border:1px solid #d0af63;border-radius:0;background:#fffaf0;color:#25132e;font:inherit;font-size:1rem;cursor:pointer}.birth-selects select:focus{outline:2px solid #f0c763;outline-offset:2px}.form-row{gap:.6rem}.form-row>button{white-space:nowrap}@media(max-width:800px){.birth-selects{grid-template-columns:1.35fr .85fr .85fr}.birth-selects select{height:3.2rem;padding-inline:.7rem;font-size:1rem}}

.result-reading{grid-template-columns:1fr 2fr}
@media(max-width:600px){.result-reading{grid-template-columns:1fr}}
@media(max-width:600px){.result-reading>h4{display:flex;align-items:center;min-height:3.2rem;padding:.7rem 1.2rem}.result-reading>p{padding:.85rem 1.2rem 1.1rem}}

.moon-summary{max-width:680px;margin:1.5rem auto;padding:1.3rem 1.5rem;background:rgba(12,3,18,.55);border-block:1px solid #8d6931}.moon-summary>p:last-child{margin-bottom:0}.moon-name{display:flex;justify-content:center;align-items:center;gap:.7rem;margin:.25rem 0;color:#fff5d9}.moon-name>span:first-child{color:#c796dc;font-size:2.1rem;text-shadow:0 0 12px #8e4baa}.moon-name strong{font-size:1.45rem;letter-spacing:.1em}.moon-name>span:not(:first-child){font-size:.72rem;color:#ad9bb2}.moon-time-form{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;margin-top:1rem}.moon-time-form select,.moon-time-form button{min-height:2.8rem;border:1px solid #a87b38;font:inherit}.moon-time-form select{background:#fffaf0;color:#25132e;padding:.4rem}.moon-time-form button{background:linear-gradient(#f4d47b,#bb7a1d);color:#291600;font-weight:700;padding:.4rem 1rem;cursor:pointer}.moon-exact:not(:empty){margin-top:1rem;padding-top:1rem;border-top:1px solid #6f502b}@media(max-width:600px){.moon-time-form{grid-template-columns:1fr 1fr}.moon-time-form button{grid-column:1/-1}.moon-summary{padding-inline:1rem}}

.sun-moon-combination{max-width:760px;margin:2rem auto}.sun-moon-combination>.result-kicker{margin-bottom:.8rem}.combination-card{padding:1.35rem 1.5rem;background:linear-gradient(120deg,rgba(94,31,102,.5),rgba(18,6,27,.7));border:1px solid #815d32;text-align:left}.combination-card+.combination-card{margin-top:.7rem}.combination-card h4{margin:0 0 .75rem;color:#f1cc70;font-size:1.05rem}.combination-card p{margin:.45rem 0;color:#e5d8e7;font-size:.9rem;line-height:1.9}@media(max-width:600px){.combination-card{padding:1.1rem}.combination-card h4{font-size:.95rem}}

/* Keep the native date selects simple while reserving enough room for 年・月・日. */
.birth-selects select{
  padding-left:.45rem;
  padding-right:2rem;
  text-align:center;
  text-align-last:center;
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23512a57' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right .75rem center;
}
@media(max-width:800px){
  .form-row{flex-direction:column}
  .birth-selects{width:100%;grid-template-columns:1.35fr 1fr 1fr}
  .birth-selects select{padding-left:.35rem;padding-right:1.8rem;background-position:right .65rem center}
  .form-row>button{width:100%}
}

.method-tarot a{display:inline-block;margin-top:.75rem;color:#6b2b74;font-size:.78rem;font-weight:700;text-decoration:none;border-bottom:1px solid #b48a44}.tarot{padding:6rem clamp(1.2rem,7vw,7rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:clamp(2rem,7vw,7rem);align-items:center;background:radial-gradient(circle at 75% 50%,#51215f 0,#210c30 34%,#100618 72%);border-block:1px solid #8e6330;position:relative}.tarot:before,.tarot:after{content:"✦";position:absolute;color:#d9a944}.tarot:before{top:1rem;left:1.2rem}.tarot:after{right:1.2rem;bottom:1rem}.tarot-copy{max-width:620px}.tarot h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.45;letter-spacing:.08em;margin:.25rem 0 1rem}.tarot-copy>p:not(.section-kicker){color:#d7c8dc}.tarot-copy ol{margin:1.5rem 0 0;padding:0;list-style:none;counter-reset:tarot-step}.tarot-copy li{counter-increment:tarot-step;padding:.55rem 0;border-bottom:1px solid #604369;color:#e6dbe9}.tarot-copy li:before{content:counter(tarot-step);display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;margin-right:.8rem;border:1px solid #b78538;color:#efc75f;font-size:.75rem}.tarot-stage{text-align:center}.tarot-deck{width:min(260px,76vw);aspect-ratio:5/8;padding:1.3rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;margin:auto;color:#f5d98a;background:repeating-linear-gradient(45deg,transparent 0 12px,rgba(234,193,91,.07) 13px 14px),radial-gradient(circle,#57205f,#210b31 68%);border:8px double #d4a849;outline:1px solid #6d4219;outline-offset:7px;box-shadow:0 18px 45px #050108,0 0 30px #a461aa44;cursor:pointer;font:inherit;transition:transform .25s,box-shadow .25s}.tarot-deck:hover{transform:translateY(-5px);box-shadow:0 24px 55px #050108,0 0 38px #b76ec477}.tarot-deck:focus-visible{outline:3px solid #ffe294;outline-offset:9px}.tarot-back-mark{font-size:4.4rem;line-height:1;text-shadow:0 0 16px #e2b750}.tarot-deck strong{font-size:1.05rem;letter-spacing:.1em}.tarot-deck small{color:#bdaac3;font-size:.68rem}.tarot-result{max-width:520px;margin:2rem auto 0;padding:2rem 1.5rem;background:#fff6df;color:#301739;border:5px double #bd8b37;box-shadow:0 14px 40px #060109;text-align:left}.tarot-result[hidden]{display:none}.drawn-card{width:150px;aspect-ratio:5/8;margin:0 auto 1.5rem;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:.8rem;color:#f4d16e;background:radial-gradient(circle,#5c2267,#1d092a 72%);border:5px double #d3a447;box-shadow:0 12px 28px #16091d66}.drawn-card.reversed{transform:rotate(180deg)}.drawn-card span{font-size:2.8rem}.drawn-card small{font-size:.65rem;color:#d1b6d8}.tarot-result .result-kicker{color:#7a3a76}.tarot-result h3{text-align:center;font-size:1.7rem;margin:.2rem 0;color:#4a1b50}.tarot-position{text-align:center;margin:0 0 1rem;color:#9b6a25;font-size:.78rem;font-weight:700}.tarot-keyword{text-align:center;font-weight:700;color:#6d2c67}.tarot-reading{line-height:1.95}.tarot-advice{padding:1rem;border-block:1px solid #c8a66a;color:#4a354c}.tarot-again{display:block;margin:1.3rem auto 0;padding:.7rem 1.3rem;border:1px solid #794875;background:transparent;color:#5b245e;font:inherit;font-weight:700;cursor:pointer}@media(max-width:800px){.tarot{grid-template-columns:1fr;text-align:center;padding-block:4rem}.tarot-copy{margin:auto}.tarot-copy ol{text-align:left}.tarot-stage{margin-top:1rem}}

.tarot-result{grid-column:1/-1;width:min(900px,100%);max-width:none;margin-top:0}.tarot-deck{position:relative;isolation:isolate}.tarot-deck:before,.tarot-deck:after{content:"";position:absolute;inset:-8px;background:radial-gradient(circle,#4f1d5b,#1c0828 70%);border:5px double #c99b3e;z-index:-1;opacity:0;pointer-events:none}.tarot-deck.is-shuffling{animation:tarotDeckPulse .55s ease-in-out infinite alternate}.tarot-deck.is-shuffling:before{opacity:1;animation:tarotShuffleLeft .7s ease-in-out infinite}.tarot-deck.is-shuffling:after{opacity:1;animation:tarotShuffleRight .7s ease-in-out .18s infinite}.tarot-deck.is-opening{animation:tarotOpen .42s ease-out}.tarot-deck.is-shuffling strong{font-size:.9rem}.tarot-deck:disabled{cursor:wait}
@keyframes tarotShuffleLeft{0%,100%{transform:translate(0,0) rotate(0);opacity:.25}45%{transform:translate(-62px,-8px) rotate(-8deg);opacity:.9}65%{transform:translate(28px,5px) rotate(4deg);opacity:.55}}
@keyframes tarotShuffleRight{0%,100%{transform:translate(0,0) rotate(0);opacity:.2}45%{transform:translate(62px,8px) rotate(8deg);opacity:.85}65%{transform:translate(-28px,-5px) rotate(-4deg);opacity:.5}}
@keyframes tarotDeckPulse{from{transform:translateY(-2px) rotate(-.5deg)}to{transform:translateY(2px) rotate(.5deg)}}
@keyframes tarotOpen{0%{transform:scale(1)}55%{transform:scale(.94) rotateY(24deg)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.tarot-deck.is-shuffling,.tarot-deck.is-shuffling:before,.tarot-deck.is-shuffling:after,.tarot-deck.is-opening{animation:none}}
@media(max-width:800px){.tarot-result{grid-column:auto;margin-top:0}}

/* Physical-table shuffle: stacked deck → spread and mix → gather and reveal. */
.tarot-deck{
  --shuffle-scale:.35;
  width:min(440px,88vw);
  aspect-ratio:1.25;
  overflow:hidden;
  justify-content:flex-end;
  gap:.15rem;
  padding:1.25rem 1.25rem 2rem;
  background:radial-gradient(ellipse at center,#54205f 0,#290e39 52%,#15071f 100%);
}
.tarot-deck:before,.tarot-deck:after{display:none}
.tarot-card-field{position:absolute;inset:2.8rem 1rem 6rem;display:block}
.tarot-card-field>span{
  position:absolute;
  left:50%;
  top:50%;
  width:120px;
  aspect-ratio:5/8;
  border:2px solid #e2bd62;
  border-radius:2px;
  background-color:#27102f;
  background-image:url("assets/tarot-card-back-v1.png");
  background-position:center;
  background-size:cover;
  box-shadow:0 3px 8px #07020b99;
  transform:translate(-50%,-50%) translate(var(--sx),var(--sy)) rotate(var(--sr));
  transform-origin:center;
  transition:transform .45s cubic-bezier(.2,.75,.25,1),opacity .28s;
}
.tarot-deck.is-shuffling{animation:none;transform:none}
.tarot-deck.is-shuffling:hover{transform:none}
.tarot-deck.is-shuffling .tarot-card-field>span{
  animation:tarotScatter .46s cubic-bezier(.2,.8,.25,1) forwards,tarotTableMix .78s ease-in-out .46s infinite alternate;
  animation-delay:0s,calc(.46s + var(--delay));
}
.tarot-deck.is-opening{animation:none;transform:none}
.tarot-deck.is-opening .tarot-card-field>span{
  transform:translate(-50%,-50%) translate(var(--sx),var(--sy)) rotate(var(--sr));
  opacity:0;
}
.tarot-deck.is-opening .tarot-card-field>span:last-child{
  opacity:1;
  z-index:30;
  animation:tarotChosenCard .88s cubic-bezier(.2,.75,.2,1) forwards;
}
.tarot-deck.is-opening strong{opacity:0}
.tarot-deck strong,.tarot-deck small{position:relative;z-index:50;transform:translateY(.5rem)}
@keyframes tarotScatter{
  from{transform:translate(-50%,-50%) translate(var(--sx),var(--sy)) rotate(var(--sr))}
  to{transform:translate(-50%,-50%) translate(var(--x),var(--y)) rotate(var(--r)) scale(var(--shuffle-scale))}
}
@keyframes tarotTableMix{
  from{transform:translate(-50%,-50%) translate(var(--x),var(--y)) rotate(var(--r)) scale(var(--shuffle-scale))}
  to{transform:translate(-50%,-50%) translate(var(--mx),var(--my)) rotate(var(--mr)) scale(var(--shuffle-scale))}
}
@keyframes tarotChosenCard{
  0%{transform:translate(-50%,-50%) translate(var(--x),var(--y)) rotate(var(--r)) scale(var(--shuffle-scale))}
  42%{transform:translate(-50%,-50%) rotate(0) scale(var(--shuffle-scale));box-shadow:0 3px 8px #07020b99}
  72%{transform:translate(-50%,-50%) rotateY(90deg) scale(1);box-shadow:0 12px 28px #050107}
  100%{transform:translate(-50%,-50%) rotateY(180deg) scale(1);box-shadow:0 12px 28px #050107,0 0 28px #e8c66688}
}
@media(prefers-reduced-motion:reduce){
  .tarot-deck.is-shuffling .tarot-card-field>span,.tarot-deck.is-opening .tarot-card-field>span:last-child{animation-duration:.01ms;animation-iteration-count:1}
}
@media(max-width:520px){
  .tarot-deck{--shuffle-scale:.47;width:100%;aspect-ratio:1.1;padding-bottom:1.5rem}
  .tarot-card-field{inset:.7rem .5rem 4.4rem}
  .tarot-card-field>span{width:75px}
}
@media(min-width:801px){
  .tarot{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem)}
  .tarot-copy,.tarot-stage{align-self:center}
  .tarot-stage{transform:translateY(1rem)}
  .tarot h2{font-size:clamp(1.25rem,2.3vw,2.3rem);letter-spacing:.04em;white-space:nowrap}
}
.drawn-card{position:relative;width:min(260px,72vw);aspect-ratio:5/8;padding:0;background:#24102e;overflow:hidden}
.drawn-card img{width:100%;height:100%;display:block;object-fit:cover}
.drawn-card .tarot-card-number,.drawn-card .tarot-card-title{position:absolute;left:50%;z-index:2;display:flex;align-items:center;justify-content:center;box-sizing:border-box;transform:translateX(-50%);padding:.08em 0 0;color:rgba(39,21,47,.91);background:linear-gradient(90deg,rgba(255,248,226,0),rgba(255,248,226,.61) 22%,rgba(238,219,174,.67) 50%,rgba(255,248,226,.61) 78%,rgba(255,248,226,0));font-family:Georgia,"Times New Roman",serif;font-weight:700;line-height:1;white-space:nowrap;text-align:center}
.drawn-card .tarot-card-number{top:.42rem;width:4rem;height:1.28rem;font-size:.72rem;letter-spacing:.08em}
.drawn-card .tarot-card-title{bottom:.42rem;width:calc(100% - 1.1rem);max-width:none;height:1.42rem;font-size:.66rem;letter-spacing:.07em;overflow:visible;text-overflow:clip}

/* Multi-page portal */
.portal-page{background:#100618}.portal-page h1,.portal-page h2,.portal-page h3{font-weight:500}.portal-hero{min-height:620px;padding:clamp(4rem,8vw,7rem) clamp(1.3rem,8vw,8rem);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:center;gap:clamp(2rem,7vw,7rem);position:relative;overflow:hidden;background:radial-gradient(circle at 78% 42%,#57205f 0,#281034 28%,#100618 67%);border-bottom:8px ridge #896020}.portal-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 48%,rgba(226,177,67,.035) 49% 51%,transparent 52%),linear-gradient(-45deg,transparent 48%,rgba(124,65,139,.035) 49% 51%,transparent 52%);background-size:58px 58px;pointer-events:none}.portal-stars{position:absolute;top:2rem;left:50%;transform:translateX(-50%);color:#e9bd52;letter-spacing:.7em}.portal-hero-copy{position:relative;z-index:1;max-width:700px}.portal-hero h1{font-size:clamp(3rem,5.2vw,5.2rem);line-height:1.35;letter-spacing:.07em;margin:.45rem 0 1.4rem}.portal-hero-copy>p:not(.eyebrow){color:#d9cadc;margin-bottom:2rem}.portal-yulian{position:relative;z-index:1;margin:0;text-align:center}.portal-yulian img{width:min(380px,78vw);aspect-ratio:1;object-fit:cover;border-radius:50%;border:8px double #d1a342;outline:1px solid #f5d47a;outline-offset:8px;box-shadow:0 22px 70px #030105,0 0 55px #b166bd55}.portal-yulian figcaption{margin-top:1.5rem}.portal-yulian figcaption>*{display:block}.portal-yulian small{color:#d5a943;letter-spacing:.2em}.portal-yulian strong{font-size:1.6rem;letter-spacing:.14em}.portal-yulian span{color:#cdbdce;font-size:.85rem}.portal-divinations{padding:6rem clamp(1.2rem,6vw,6rem);text-align:center;color:#291934;background:#f8efdf;background-image:linear-gradient(45deg,rgba(103,55,104,.035) 25%,transparent 25%,transparent 75%,rgba(103,55,104,.035) 75%),linear-gradient(-45deg,rgba(183,126,43,.035) 25%,transparent 25%,transparent 75%,rgba(183,126,43,.035) 75%);background-size:32px 32px}.portal-divinations h2,.portal-teachers h2,.portal-reading h2,.weekly-yulian h2{font-size:clamp(2rem,4vw,3.2rem);letter-spacing:.08em;margin:.2rem 0}.portal-intro{color:#725e70}.portal-card-grid{max-width:1100px;margin:3rem auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;text-align:left}.portal-card{min-height:270px;padding:2rem;display:block;position:relative;color:#32193a;text-decoration:none;background:rgba(255,250,240,.94);border:5px double #9e7740;box-shadow:0 12px 28px #8a735455,inset 0 0 26px #ddcba744;transition:.2s}.portal-card:after{content:"❧";position:absolute;right:1rem;bottom:.5rem;color:#9b6a9b;font-size:1.4rem}.portal-card-live:hover{transform:translateY(-5px);box-shadow:0 18px 38px #745b3d66,inset 0 0 26px #ddcba744}.portal-symbol{float:right;color:#743876;font-size:2.4rem;line-height:1}.portal-card small{color:#8d5f24;letter-spacing:.1em}.portal-card h3{font-size:1.55rem;margin:.5rem 0}.portal-card p{color:#725e70;max-width:85%}.portal-card b{color:#713374}.portal-card em{color:#9a8a91;font-size:.8rem}.weekly-yulian{padding:4rem clamp(1.2rem,7vw,7rem);display:grid;grid-template-columns:170px minmax(0,1fr) minmax(260px,.65fr);align-items:center;gap:clamp(1.5rem,4vw,4rem);background:linear-gradient(135deg,#371342,#190921);border-block:6px double #a97a34}.weekly-cat img{width:160px;height:160px;object-fit:cover;border-radius:50%;border:4px solid #c99a3d}.weekly-copy>p:not(.section-kicker){color:#d6c6d8}.weekly-yulian aside{padding:1.5rem;border:1px solid #8b6737;background:#190820}.weekly-yulian aside small,.weekly-yulian aside strong{display:block}.weekly-yulian aside small{color:#d9aa46}.weekly-yulian aside strong{font-size:1.35rem}.weekly-yulian aside p{color:#d8c6db}.portal-teachers{padding:6rem clamp(1.2rem,7vw,7rem);background:#f8efdf;color:#291934}.portal-section-heading{text-align:center;max-width:800px;margin:0 auto 3rem}.teacher-feature{max-width:1000px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#2b0c35;color:#f9f0df;border:7px ridge #a7772e}.teacher-feature figure{margin:0;padding:1rem}.teacher-feature img{display:block;width:100%;height:340px;object-fit:cover;object-position:72% center}.teacher-feature>div{padding:2rem 3rem}.teacher-feature small,.teacher-coming small{color:#e0b650}.teacher-feature h3{font-size:2rem;margin:.3rem 0}.teacher-feature a{color:#f0c960}.teacher-coming{max-width:1000px;margin:1.2rem auto 0;padding:1.5rem 2rem;display:flex;align-items:center;gap:2rem;border:1px solid #b08b56}.teacher-coming>span{font-size:3rem;color:#713374}.teacher-coming h3{margin:.1rem 0}.teacher-coming p{margin:0;color:#725e70}.portal-reading{padding:6rem clamp(1.2rem,7vw,7rem);text-align:center;color:#291934;background:#fffaf0}.shared-footer{padding-top:3rem}.footer-links{max-width:900px;margin:0 auto 3rem;display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;text-align:left}.footer-links h3{color:#e4b850;font-size:.9rem}.footer-links a,.footer-links span{display:block;color:#b8a9bd;text-decoration:none;font-size:.78rem;margin:.4rem 0}.footer-links a:hover{color:#f0cc70}
@media(max-width:800px){.portal-hero{grid-template-columns:1fr;text-align:center;padding-block:4rem}.portal-hero-copy{order:2}.portal-yulian{order:1}.portal-yulian img{width:min(240px,68vw)}.portal-hero h1{font-size:clamp(2.5rem,10vw,3.5rem)}.portal-card-grid{grid-template-columns:1fr}.weekly-yulian{grid-template-columns:90px 1fr}.weekly-cat img{width:90px;height:90px}.weekly-yulian aside{grid-column:1/-1}.teacher-feature{grid-template-columns:1fr}.teacher-feature>div{padding:1.5rem}.footer-links{grid-template-columns:1fr;gap:1rem;padding-inline:1.5rem}.portal-card{min-height:0}}
.astrology-page .tarot{display:none}.astrology-page .method-tarot a{display:inline-block}.tarot-page .hero,.tarot-page .reading,.tarot-page .methods,.tarot-page .teachers,.tarot-page .guide,.tarot-page .column{display:none}.tarot-page .tarot{min-height:calc(100vh - 115px)}
@media(min-width:801px){
  .tarot-result{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:2rem;align-items:start;width:min(1000px,100%);padding:3rem}
  .tarot-result[hidden]{display:none}
  .tarot-result .drawn-card{grid-column:1;grid-row:1/span 8;width:min(260px,70%);margin:0 auto}
  .tarot-result>:not(.drawn-card){grid-column:2}
  .tarot-result .result-kicker{margin-top:0}
  .tarot-result h3,.tarot-result .tarot-position,.tarot-result .tarot-keyword{text-align:left}
  .tarot-result .tarot-again{margin-left:0}
}
.calculation-note{max-width:1000px;margin:2.5rem auto 0;color:#7e6d79;font-size:.7rem;line-height:1.8}
.zodiac-week-grid article>img{width:calc(100% - 3rem);margin:1.5rem;box-shadow:0 10px 24px rgba(47,24,43,.2)}
.zodiac-week-grid article{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.zodiac-week-grid article>div{padding-left:0}
@media(max-width:800px){.zodiac-week-grid article{grid-template-columns:1fr}.zodiac-week-grid article>img{width:calc(100% - 2rem);margin:1rem}}
@media(max-width:800px){.zodiac-week-grid article>div{padding-left:1.5rem}}

/* Keep portal display headings to their intended line count. */
.portal-hero h1{font-size:clamp(2.6rem,4.2vw,4.2rem);letter-spacing:.06em;white-space:nowrap}
.weekly-yulian h2{font-size:clamp(1.8rem,3.1vw,2.8rem);letter-spacing:.05em;white-space:nowrap}
.portal-teachers h2{font-size:clamp(1.8rem,3.1vw,2.8rem);letter-spacing:.05em;white-space:nowrap}
@media(max-width:800px){
  .portal-hero h1{font-size:clamp(1.85rem,7.7vw,2.75rem)}
  .weekly-yulian h2{font-size:clamp(1.55rem,6.7vw,2.25rem)}
  .portal-teachers h2{font-size:clamp(1.45rem,6vw,2.1rem)}
}

/* Weekly horoscope */
.weekly-page{background:#f8efdf;color:#291934}.weekly-hero{min-height:520px;padding:5rem clamp(1.3rem,10vw,10rem);display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);align-items:center;gap:clamp(2rem,7vw,7rem);color:#fffaf0;background:radial-gradient(circle at 20% 45%,#5e2369 0,#271032 32%,#100618 68%);border-bottom:8px ridge #896020}.weekly-hero>img{width:min(390px,75vw);aspect-ratio:1;object-fit:cover;border-radius:50%;border:8px double #d1a342;outline:1px solid #f5d47a;outline-offset:8px;box-shadow:0 20px 60px #030105,0 0 45px #b166bd55}.weekly-hero h1{margin:.3rem 0;font-size:clamp(2.7rem,5vw,4.7rem);line-height:1.35;font-weight:500;letter-spacing:.08em}.weekly-date{color:#e7bd58;font-size:1.1rem;letter-spacing:.18em}.weekly-hero blockquote{margin:1.5rem 0;padding:1rem 1.4rem;border-block:1px solid #8d6931;color:#f8e7ba;font-size:1.05rem}.weekly-signs{padding:6rem clamp(1.1rem,5vw,5rem);text-align:center;background-image:linear-gradient(45deg,rgba(103,55,104,.035) 25%,transparent 25%,transparent 75%,rgba(103,55,104,.035) 75%),linear-gradient(-45deg,rgba(183,126,43,.035) 25%,transparent 25%,transparent 75%,rgba(183,126,43,.035) 75%);background-size:32px 32px}.weekly-signs>h2{font-size:clamp(2rem,4vw,3.2rem);font-weight:500;margin:.2rem 0 3rem}.zodiac-week-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;text-align:left}.zodiac-week-grid article{background:#fffaf0;border:5px double #9e7740;box-shadow:0 10px 24px #8a735444;overflow:hidden}.zodiac-week-grid img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.zodiac-week-grid article>div{padding:1.4rem;position:relative}.zodiac-week-grid article>div>span{float:right;color:#713374;font-size:2rem}.zodiac-week-grid small{color:#9a6d2b}.zodiac-week-grid h3{font-size:1.55rem;margin:.1rem 0 1rem;font-weight:500}.zodiac-week-grid p{margin:.6rem 0;color:#675565;font-size:.84rem}.zodiac-week-grid p b{color:#713374;margin-right:.45rem}.zodiac-week-grid blockquote{margin:1rem 0 0;padding:.8rem 0 0;border-top:1px solid #c9ad7b;color:#7b3a75;font-size:.85rem;font-weight:600}
@media(max-width:900px){.zodiac-week-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.weekly-hero{grid-template-columns:1fr;text-align:center;padding-block:3.5rem}.weekly-hero>img{width:min(230px,65vw);margin:auto}.weekly-hero h1{font-size:clamp(2.2rem,10vw,3rem)}.zodiac-week-grid{grid-template-columns:1fr}.weekly-signs{padding-block:4rem}}

/* Long-form weekly readings */
.zodiac-jump{max-width:1100px;margin:0 auto 2.5rem;display:grid;grid-template-columns:repeat(6,1fr);gap:.55rem}.zodiac-jump a{padding:.75rem .4rem;display:flex;flex-direction:column;align-items:center;color:#5b285e;text-decoration:none;background:rgba(255,250,240,.8);border:1px solid #b68b4c;font-size:1.35rem;transition:.2s}.zodiac-jump a:hover{color:#fff;background:#5a245e;transform:translateY(-2px)}.zodiac-jump span{font-size:.72rem}.weekly-sky-note{max-width:1000px;margin:0 auto 3rem;padding:1.6rem 2rem;text-align:left;background:#2a0d34;color:#eaddea;border:5px double #a87b39}.weekly-sky-note h3{margin:0 0 .5rem;color:#e9bd59;font-size:1.15rem}.weekly-sky-note p{margin:0;font-size:.9rem;line-height:2}.zodiac-week-grid{grid-template-columns:1fr;gap:2rem;max-width:1100px}.zodiac-week-grid article{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);align-items:center;scroll-margin-top:2rem}.zodiac-week-grid article>div{padding:clamp(2rem,4vw,3.5rem)}.zodiac-week-grid h3{font-size:2rem}.zodiac-week-grid p{font-size:.96rem;line-height:2;margin:1rem 0}.zodiac-week-grid blockquote{font-size:.95rem;padding-top:1rem}.back-to-signs{display:inline-block;margin-top:1.3rem;color:#7b3a75;font-size:.72rem;text-decoration:none;border-bottom:1px solid #b68b4c}
@media(max-width:800px){.zodiac-jump{grid-template-columns:repeat(4,1fr)}.zodiac-week-grid article{grid-template-columns:1fr}.zodiac-week-grid article>div{padding:1.5rem}.zodiac-week-grid h3{font-size:1.65rem}}
@media(max-width:440px){.zodiac-jump{grid-template-columns:repeat(3,1fr)}.weekly-sky-note{padding:1.3rem}}

/* Final weekly card alignment */
.zodiac-week-grid article{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.zodiac-week-grid article>img{width:calc(100% - 3rem);margin:1.5rem;box-shadow:0 10px 24px rgba(47,24,43,.2)}
.zodiac-week-grid article>div{padding-left:0}
@media(max-width:800px){
  .zodiac-week-grid article{grid-template-columns:1fr}
  .zodiac-week-grid article>img{width:calc(100% - 2rem);margin:1rem}
  .zodiac-week-grid article>div{padding-left:1.5rem}
}

@media(min-width:801px){
  .zodiac-week-grid article>img{width:calc(100% - 6rem);margin:3rem}
  .zodiac-week-grid article>div{padding:3rem 3rem 3rem 0}
}

/* Zodiac image jump links */
.zodiac-jump{max-width:1100px;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.zodiac-jump a{position:relative;isolation:isolate;min-height:112px;padding:0;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff;background-image:linear-gradient(rgba(24,7,31,.2),rgba(24,7,31,.2)),var(--zodiac-image);background-size:100% auto;background-position:var(--focal,center);border:4px double #b68b4c;box-shadow:0 5px 14px rgba(39,13,45,.16);font-size:inherit;transition:background-size .35s ease,box-shadow .2s ease,border-color .2s ease}
.zodiac-jump a:hover{color:#fff;background-image:linear-gradient(rgba(24,7,31,.17),rgba(24,7,31,.17)),var(--zodiac-image);background-size:104% auto!important;background-position:var(--focal,center)!important;transform:none!important;border-color:#d7ae57;box-shadow:0 7px 17px rgba(39,13,45,.22);filter:none!important}
.zodiac-jump span{position:relative;z-index:1;width:100%;padding:.62rem .6rem .56rem;color:#fff;background:rgba(30,9,37,.48);font-size:1.08rem;font-weight:500;line-height:1.25;letter-spacing:.13em;text-shadow:0 1px 5px rgba(0,0,0,.9)}
.jump-aries{--zodiac-image:url('assets/zodiac/01-aries.png');--focal:55% 30%}.jump-taurus{--zodiac-image:url('assets/zodiac/02-taurus.png');--focal:56% 41%}.jump-gemini{--zodiac-image:url('assets/zodiac/03-gemini.png');--focal:53% 36%}.jump-cancer{--zodiac-image:url('assets/zodiac/04-cancer.png');--focal:52% 43%}.jump-leo{--zodiac-image:url('assets/zodiac/05-leo.png');--focal:58% 31%}.jump-virgo{--zodiac-image:url('assets/zodiac/06-virgo.png');--focal:53% 29%}.jump-libra{--zodiac-image:url('assets/zodiac/07-libra.png');--focal:53% 36%}.jump-scorpio{--zodiac-image:url('assets/zodiac/08-scorpio.png');--focal:53% 53%}.jump-sagittarius{--zodiac-image:url('assets/zodiac/09-sagittarius.png');--focal:50% 14%}.jump-capricorn{--zodiac-image:url('assets/zodiac/10-capricorn.png');--focal:53% 12%}.jump-aquarius{--zodiac-image:url('assets/zodiac/11-aquarius.png');--focal:54% 24%}.jump-pisces{--zodiac-image:url('assets/zodiac/12-pisces.png');--focal:52% 51%}
@media(max-width:800px){.zodiac-jump{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.zodiac-jump a{min-height:104px}}
@media(max-width:440px){.zodiac-jump{grid-template-columns:repeat(2,minmax(0,1fr))}.zodiac-jump a{min-height:108px}}

/* Illustrated sun and moon signs in astrology results */
.result-sign-image{display:block;width:min(340px,78%);aspect-ratio:1;object-fit:cover;margin:1.1rem auto 1.3rem;border:7px double #c39239;outline:1px solid #6f431c;outline-offset:5px;box-shadow:0 14px 38px rgba(3,1,5,.65),0 0 28px rgba(180,106,199,.25)}
.moon-name{flex-direction:column;gap:.55rem;margin:.65rem 0}.moon-sign-image{display:block;width:112px;aspect-ratio:1;object-fit:cover;border:4px double #a77b3a;box-shadow:0 7px 18px rgba(3,1,5,.45)}
.moon-possibilities{flex-direction:row;gap:1rem}.moon-possibilities>div{display:flex;flex-direction:column;align-items:center;gap:.45rem}.moon-possibilities>span{align-self:center}
@media(max-width:600px){.result-sign-image{width:min(270px,84%)}.moon-sign-image{width:92px}.moon-possibilities{gap:.65rem}}

/* Illustrated divination room cards */
.portal-card{padding:0 2rem 2rem;overflow:hidden}
.portal-card-image{display:block;width:calc(100% + 4rem);height:220px;margin:0 -2rem 1.55rem;object-fit:cover;object-position:center;border-bottom:4px double #9e7740}
.portal-card small{display:block}
@media(max-width:800px){.portal-card-image{height:190px}}

/* Shared navigation and compact in-page diviner credit */
.site-header nav a[aria-current="page"]{color:var(--gold);border-color:var(--gold)}
.diviner-note{grid-template-columns:minmax(0,1fr) 210px;gap:2.5rem;padding:3rem clamp(1.2rem,8vw,8rem)}
.diviner-note .teacher-copy{max-width:680px}
.diviner-note .teacher-copy h2{font-size:1.65rem;margin:.15rem 0 .5rem}
.diviner-note figure{padding:.35rem;display:grid;grid-template-columns:92px 1fr;align-items:center;gap:1rem}
.diviner-note figure img{width:92px;height:92px;object-fit:cover;object-position:72% center}
.diviner-note figure figcaption{padding:.25rem;text-align:left}
.diviner-note figure figcaption p{margin:0;font-size:.72rem}
@media(max-width:800px){.diviner-note{grid-template-columns:1fr;padding-block:2.5rem;text-align:left}.diviner-note figure{max-width:430px}}

/* Simple diviner credit used at the foot of a reading page */
.astrology-page .diviner-note{max-width:900px;margin:4rem auto;padding:2.5rem clamp(1.25rem,4vw,3rem);display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:2.25rem;background:#24102e;border:1px solid #8e6330;color:#f9f0df;box-shadow:0 14px 32px rgba(3,1,5,.28)}
.diviner-note-photo{display:block;width:150px;height:150px;object-fit:cover;object-position:72% center;border:4px double #b78738}
.diviner-note-copy{text-align:left;min-width:0}
.diviner-note-copy h2{margin:.1rem 0;font-size:1.65rem;font-weight:500}
.diviner-note-copy small{color:#d5a943}
.diviner-note-copy p{margin:.5rem 0;color:#d9cadd}
.diviner-note-copy blockquote{margin:.7rem 0 0;padding:.55rem 0 0;border-top:1px solid #6f502b;color:#f1ddae;font-size:.82rem}
@media(max-width:600px){.astrology-page .diviner-note{grid-template-columns:88px minmax(0,1fr);gap:1.1rem;padding:1.5rem 1.2rem}.diviner-note-photo{width:88px;height:108px}.diviner-note-copy h2{font-size:1.35rem}.diviner-note-copy p{font-size:.82rem}.diviner-note-copy blockquote{font-size:.72rem}}

/* Numerology */
.numerology-page{background:#100618}.numerology-hero{height:620px;position:relative;overflow:hidden;border-bottom:8px ridge #896020}.numerology-hero>img{width:100%;height:100%;object-fit:cover;object-position:center}.numerology-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,3,17,.96),rgba(20,6,29,.72) 43%,rgba(20,6,29,.08) 76%)}.numerology-hero-copy{position:absolute;z-index:1;left:clamp(1.5rem,8vw,8rem);top:50%;transform:translateY(-50%);max-width:650px}.numerology-hero h1{margin:.45rem 0 1rem;font-size:clamp(2.7rem,5vw,4.9rem);line-height:1.35;font-weight:500;letter-spacing:.07em;text-shadow:0 3px 18px #000}.numerology-hero-copy>p:not(.eyebrow){color:#e3d5e5;margin-bottom:2rem}.numerology-reading{padding:6rem clamp(1.2rem,6vw,6rem);text-align:center;background:radial-gradient(circle at 50% 0,#422052 0,#180a24 35%,#100618 70%)}.numerology-reading>h2,.numerology-about>h2{margin:.2rem 0;font-size:clamp(2rem,4vw,3.2rem);font-weight:500;letter-spacing:.08em}.numerology-intro{max-width:760px;margin:1rem auto 2.5rem;color:#d2c3d6}.numerology-form{max-width:850px;margin:auto;padding:2rem;background:linear-gradient(120deg,#51205e,#261034);border:1px solid #aa7933;box-shadow:0 15px 50px #08030e;text-align:left}.numerology-form>label{display:block;margin-bottom:.5rem;color:#ead9ec;font-size:.84rem}.numerology-selects{display:grid;grid-template-columns:1.35fr 1fr 1fr auto;gap:.65rem}.numerology-selects select{min-width:0;height:3.4rem;padding:0 2rem 0 .65rem;appearance:none;-webkit-appearance:none;background-color:#fffaf0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23512a57' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;border:1px solid #d0af63;border-radius:0;color:#25132e;font:inherit;text-align:center;text-align-last:center}.numerology-selects button{height:3.4rem;padding:0 1.4rem;border:1px solid #ffe294;background:linear-gradient(#f4d47b,#bb7a1d);color:#291600;font:inherit;font-weight:700;cursor:pointer}.numerology-result{max-width:850px;margin:2.5rem auto 0;padding:3rem clamp(1.2rem,5vw,4rem);background:radial-gradient(circle at 50% 0,rgba(122,62,139,.65),transparent 35%),linear-gradient(145deg,#351241,#16081f 70%);border:5px double #c39239;outline:1px solid #6f431c;outline-offset:5px;box-shadow:0 18px 55px #050108;text-align:center}.numerology-result[hidden]{display:none}.number-lead{margin:1rem 0 0;color:#cdb9d3}.life-number{margin:-.2rem 0;font-family:Georgia,serif;font-size:clamp(6rem,14vw,9rem);line-height:1;color:#efc65e;text-shadow:0 0 30px rgba(180,106,199,.7)}.numerology-result>h2{margin:.25rem 0;font-size:clamp(2rem,5vw,3.1rem);font-weight:500}.number-keywords{margin:.3rem 0 2rem;color:#d8b75e;letter-spacing:.16em}.number-support-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0}.number-card{padding:1.3rem;background:rgba(12,3,18,.58);border:1px solid #8d6931}.number-card small,.number-card strong{display:block}.number-card small{color:#cdb9d3}.number-card strong{color:#efc65e;font-family:Georgia,serif;font-size:3.4rem;line-height:1.25}.number-card h3{margin:.25rem 0;font-size:1.1rem}.number-card p{margin:0;color:#bdaec1;font-size:.8rem}.number-reading{display:grid;grid-template-columns:1fr 2fr;gap:1px;background:#7f5a2d;border:1px solid #9f773c;text-align:left}.number-reading h3,.number-reading p{margin:0;padding:1rem 1.2rem;background:#24102e}.number-reading h3{color:#efc65e;font-size:1rem}.number-reading p{color:#e3d5e5;font-size:.9rem;line-height:1.95}.numerology-about{padding:6rem clamp(1.2rem,7vw,7rem);text-align:center;background:#f8efdf;color:#291934}.numerology-about-grid{max-width:1050px;margin:3rem auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;text-align:left}.numerology-about-grid article{padding:2rem;background:#fffaf0;border:5px double #9e7740}.numerology-about-grid b{color:#713374}.numerology-about-grid h3{font-size:1.2rem}.numerology-about-grid p{color:#725e70;font-size:.86rem}.numerology-diviner{max-width:900px!important;margin:4rem auto!important;grid-template-columns:150px minmax(0,1fr)!important;background:#24102e;border:1px solid #8e6330;color:#f9f0df;box-shadow:0 14px 32px rgba(3,1,5,.28)}
@media(max-width:700px){.numerology-hero{height:650px}.numerology-hero>img{object-position:center top}.numerology-hero-shade{background:linear-gradient(0deg,rgba(10,3,17,.98),rgba(16,4,25,.78) 58%,rgba(16,4,25,.08))}.numerology-hero-copy{top:auto;bottom:2rem;right:1.3rem;transform:none}.numerology-hero h1{font-size:clamp(2.2rem,10vw,3.3rem)}.numerology-selects{grid-template-columns:1.35fr 1fr 1fr}.numerology-selects button{grid-column:1/-1}.number-support-grid,.numerology-about-grid{grid-template-columns:1fr}.number-reading{grid-template-columns:1fr}.number-reading h3{padding-bottom:.25rem}.number-reading p{padding-top:.3rem}.numerology-diviner{grid-template-columns:88px minmax(0,1fr)!important;margin:2.5rem 1rem!important}}

.support-number-readings{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.25rem;text-align:left}.support-number-readings article{padding:1.4rem;background:rgba(12,3,18,.58);border:1px solid #76562f}.support-number-readings h3{margin:.15rem 0 .65rem;color:#f3d078;font-size:1.15rem}.support-number-readings p{margin:0;color:#ded0e1;font-size:.88rem;line-height:1.9}.support-number-readings .support-number-label{color:#c5a55c;font-size:.72rem;letter-spacing:.12em}.number-guide{padding:6rem clamp(1.2rem,7vw,7rem);text-align:center;background:#fffaf0;color:#291934}.number-guide>h2{margin:.2rem 0;font-size:clamp(2rem,4vw,3.2rem);font-weight:500;letter-spacing:.08em}.number-guide>p:not(.section-kicker){color:#725e70}.number-guide-grid{max-width:1050px;margin:2.5rem auto 0;display:grid;grid-template-columns:repeat(2,1fr);align-items:start;gap:.75rem;text-align:left}.number-guide-item{background:#f8efdf;border:1px solid #b58b4c}.number-guide-item summary{min-height:92px;padding:1rem 1.25rem;display:grid;grid-template-columns:64px minmax(0,1fr) 34px;align-items:center;gap:1rem;cursor:pointer;list-style:none;transition:background-color .2s ease}.number-guide-item summary::-webkit-details-marker{display:none}.number-guide-item summary::after{content:"＋";width:32px;height:32px;display:grid;place-items:center;border:1px solid #a77b38;border-radius:50%;color:#713374;background:#fffaf0;font-family:Arial,sans-serif;font-size:1.15rem;line-height:1;transition:.2s}.number-guide-item[open] summary::after{content:"−";color:#fffaf0;background:#713374;border-color:#713374}.number-guide-item summary:hover{background:rgba(113,51,116,.06)}.number-guide-item summary:hover::after{border-color:#713374}.number-guide-item summary:focus-visible{outline:2px solid #713374;outline-offset:-3px}.number-guide-item summary>b{font-family:Georgia,serif;font-size:2.5rem;line-height:1;color:#713374;text-align:center}.number-guide-item summary span>*{display:block}.number-guide-item summary strong{font-size:1rem}.number-guide-item summary small{color:#9a6d2b}.number-guide-item>p{margin:0;padding:0 1.25rem 1.25rem 89px;color:#675565;font-size:.86rem;line-height:1.9}.number-guide-item[open]{border-color:#713374;box-shadow:inset 0 0 22px rgba(113,51,116,.08)}
@media(max-width:700px){.support-number-readings,.number-guide-grid{grid-template-columns:1fr}.number-guide-item>p{padding-left:1.25rem}}

/* Match the numerology diviner credit to the astrology page */
.numerology-page .diviner-note{max-width:900px!important;margin:4rem auto!important;padding:2.5rem clamp(1.25rem,4vw,3rem)!important;display:grid;grid-template-columns:150px minmax(0,1fr)!important;align-items:center;gap:2.25rem;background:#24102e;border:1px solid #8e6330;color:#f9f0df;box-shadow:0 14px 32px rgba(3,1,5,.28)}
@media(max-width:700px){.numerology-page .diviner-note{grid-template-columns:88px minmax(0,1fr)!important;gap:1.1rem;margin:2.5rem 1rem!important;padding:1.5rem 1.2rem!important}}

/* Public information */
.info-page{background:#130719;color:#f8efdf}.info-main{min-height:65vh;padding:7rem clamp(1.25rem,8vw,9rem);background:radial-gradient(circle at 50% 0,#3d1a49 0,#18091f 38%,#100514 78%)}.info-main>h1{margin:.35rem 0 1rem;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:500;letter-spacing:.08em}.info-lead{max-width:780px;margin:0 0 3.5rem;color:#d9cadd;font-size:1rem;line-height:2}.info-main section{max-width:900px;padding:2rem 0;border-top:1px solid #75552d}.info-main section h2{margin:0 0 .8rem;color:#edc86c;font-size:1.3rem;font-weight:500}.info-main section p{max-width:780px;margin:.5rem 0;color:#d9cadd;line-height:2}.info-main .info-updated{margin-top:1.5rem;color:#a995ad;font-size:.75rem}
@media(max-width:700px){.info-main{padding-block:4.5rem}.info-lead{margin-bottom:2.5rem}.info-main section{padding:1.5rem 0}}
