/* A typographic manifesto opposite a living ceremonial seal. */
.necklace-portal{
 --ritual-silver:#b5a2c6;position:relative;isolation:isolate;scroll-margin-top:72px;overflow:hidden;
 display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:4vw;min-height:760px;padding:108px max(6vw,26px) 116px;
 border-block:1px solid #a591b121;background:radial-gradient(ellipse at 72% 50%,#40254738 0,transparent 47%),linear-gradient(118deg,#08060b,#100a16 58%,#08070c);
}
.necklace-portal:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 77% 91%,#57306424,transparent 38%),radial-gradient(ellipse at 7% 3%,#27172d35,transparent 41%);border:0;border-radius:0;width:auto;height:auto;transform:none;box-shadow:none}
.necklace-portal:after{content:none}
.ritual-heading,.ritual-foot{position:absolute;left:6vw;right:6vw;display:flex;align-items:center;justify-content:space-between;color:#897991;font:9px Georgia,serif;letter-spacing:.24em;pointer-events:none}
.ritual-heading{top:38px}.ritual-heading>span:first-child{display:flex;align-items:center;gap:17px;color:#bfaccd}.ritual-heading b{font-weight:400;font-size:15px;color:#d2bddc}.ritual-heading>span:last-child{font-size:8px;color:#84758d}
.ritual-foot{bottom:33px;padding-top:23px;border-top:1px solid #bca0c323;font-size:8px;color:#706478}.ritual-foot>span:nth-child(2){position:absolute;left:50%;top:-8px;transform:translateX(-50%);padding:0 18px;background:#0c0810;color:#9c81ad;font-size:17px;line-height:1}
.necklace-portal-copy{position:relative;z-index:2;padding-left:2vw;max-width:680px}
.necklace-portal .label{margin:0 0 32px;color:#97829f;font:9px Georgia,serif;letter-spacing:.32em;line-height:1.8;display:flex;align-items:center;gap:14px}
.necklace-portal .label:before{content:"";width:28px;height:1px;background:#a789b575;flex-shrink:0}
.necklace-portal h2{margin:0;font-family:"Songti SC","Noto Serif CJK SC","SimSun",serif;font-weight:400;line-height:1.2;letter-spacing:.035em;font-size:clamp(56px,5.9vw,105px)}
.necklace-portal h2 .covenant-title{display:block;color:#e3dce7;text-shadow:0 2px 35px #cdaee016;white-space:nowrap}
.necklace-portal h2 .covenant-vow{display:block;margin-top:21px;color:#aa91ba;font-size:.63em;letter-spacing:.055em;white-space:nowrap}
.covenant-rule{display:flex;align-items:center;gap:14px;margin:34px 0 22px;color:#9574a9;font:17px Georgia,serif;width:155px}
.covenant-rule:before{content:"";height:1px;background:linear-gradient(90deg,#b494c587,#b494c500);width:110px}.covenant-rule:after{content:"";height:1px;background:#b494c543;width:16px}
.necklace-portal p{max-width:400px;margin:0;color:#9c8ea5;font:12px/2.3 "Songti SC","SimSun",serif;letter-spacing:.16em}
.covenant-edition{margin-top:36px;display:flex;gap:14px;align-items:center;font:8px Georgia,serif;color:#71657a;letter-spacing:.2em}.covenant-edition i{display:block;width:19px;height:1px;background:#786186}
.ritual-stage{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;z-index:1}
.ritual-stage:before{content:"";position:absolute;inset:4% -10% 6%;background:radial-gradient(ellipse,#8b4f9220,transparent 62%);filter:blur(30px);pointer-events:none}
.necklace-portal .portal-button{position:relative;display:grid;place-items:center;width:min(100%,610px);aspect-ratio:1;padding:0;margin:0;border:0;border-radius:50%;color:#d8c7e2;background:none;backdrop-filter:none;box-shadow:none;text-decoration:none;outline:none;transition:filter .6s,transform .8s;isolation:isolate;cursor:pointer;-webkit-tap-highlight-color:transparent;gap:0}
.necklace-portal .portal-button:before{content:"";position:absolute;inset:23%;border-radius:50%;background:radial-gradient(circle,#80648d18 0,#100b1870 56%,transparent 70%);box-shadow:0 0 80px #9860b00a;transition:background .6s,box-shadow .6s}
.ritual-circle{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#b09bbf;stroke-width:.85;overflow:visible;pointer-events:none;filter:drop-shadow(0 0 6px #ba85e012);transition:filter .6s}
.ritual-circle .sigil-faint{opacity:.19}.ritual-circle .sigil-thin{opacity:.38}.ritual-circle .sigil-main{opacity:.72}.ritual-circle .sigil-bright{opacity:.9;stroke:#c2acd2}
.ritual-circle .sigil-type{stroke:none;fill:#a791b7;font-family:Georgia,serif;font-size:9px;letter-spacing:3.3px;opacity:.74}
.ritual-circle .sigil-number{stroke:none;fill:#b49cc6;font-family:Georgia,serif;font-size:9px;letter-spacing:1.5px;text-anchor:middle;dominant-baseline:middle}
.sigil-orbit{transform-origin:320px 320px;animation:sigil-orbit 110s linear infinite}.sigil-counter{transform-origin:320px 320px;animation:sigil-orbit 160s linear reverse infinite}
.seal-core{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:17px;z-index:1;margin-top:3px}
.seal-crest{width:29px;height:37px;fill:none;stroke:#bd9ed0;stroke-width:1;filter:drop-shadow(0 0 8px #cb91e044)}
.necklace-portal .portal-button strong{font:400 clamp(22px,2vw,32px)/1.2 "Songti SC","SimSun",serif;letter-spacing:.2em;text-indent:.2em;color:#e5d7ef;text-shadow:0 0 22px #dcb8e426;transition:text-shadow .6s}
.seal-core small{font:7px Georgia,serif;letter-spacing:.32em;text-indent:.32em;color:#a690b4}.seal-action{font:9px "Microsoft YaHei",sans-serif;letter-spacing:.16em;color:#aa92bc;margin-top:0;display:flex;gap:8px;align-items:center}.seal-action b{font:16px Georgia,serif;font-weight:400;transition:transform .4s}
.necklace-portal .ritual-caption{position:relative;margin:-4px 0 0;color:#7f7088;font:9px/1.8 "SimSun",serif;letter-spacing:.22em;text-align:center}
.necklace-portal .portal-button:hover,.necklace-portal .portal-button:focus-visible{background:none;color:#f0e4f8;box-shadow:none;outline:none;transform:scale(1.025)}
.necklace-portal .portal-button:hover:before,.necklace-portal .portal-button:focus-visible:before{box-shadow:0 0 65px #9761b72b,inset 0 0 48px #936da629}
.necklace-portal .portal-button:hover .ritual-circle,.necklace-portal .portal-button:focus-visible .ritual-circle{filter:drop-shadow(0 0 5px #d8a6ee70) drop-shadow(0 0 18px #a37dba25)}
.necklace-portal .portal-button:hover strong,.necklace-portal .portal-button:focus-visible strong{text-shadow:0 0 22px #dcb8e49c}.portal-button:hover .seal-action b,.portal-button:focus-visible .seal-action b{transform:translateX(4px)}
.necklace-portal .portal-button:focus-visible .seal-action{color:#f3e9fa;text-decoration:underline;text-underline-offset:5px}.necklace-portal .portal-button:active{transform:scale(.985)}
.ritual-flourish{position:absolute;right:-7%;top:50%;height:78%;width:auto;transform:translateY(-50%);stroke:#967aa9;fill:none;stroke-width:.55;opacity:.12;pointer-events:none}
@keyframes sigil-orbit{to{transform:rotate(360deg)}}
@media(min-width:1800px){.necklace-portal{min-height:910px;padding-block:124px 132px}.necklace-portal .portal-button{width:690px;max-width:100%}.necklace-portal-copy{padding-left:3vw}.necklace-portal p{font-size:14px}.necklace-portal .label{font-size:10px}}
@media(max-width:1100px){.necklace-portal{min-height:680px;padding-inline:5vw;gap:0;grid-template-columns:1fr 1.07fr}.necklace-portal h2{font-size:clamp(46px,6vw,66px)}.necklace-portal-copy{padding-left:0}.necklace-portal .label{letter-spacing:.18em;font-size:8px}.seal-core{gap:12px}.seal-crest{width:23px;height:30px}.necklace-portal .portal-button strong{font-size:23px}.seal-core small{font-size:6px;letter-spacing:.2em}.seal-action{font-size:8px}.necklace-portal .ritual-caption{font-size:8px;margin-top:10px}}
@media(max-width:760px){.necklace-portal{display:flex;flex-direction:column;gap:28px;min-height:0;padding:102px 22px 102px;scroll-margin-top:65px}.ritual-heading{top:27px;left:22px;right:22px;font-size:8px;letter-spacing:.14em}.ritual-heading>span:last-child{font-size:7px}.necklace-portal-copy{padding:0;width:100%;text-align:center}.necklace-portal .label{justify-content:center;margin-bottom:24px;font-size:7px;letter-spacing:.22em}.necklace-portal .label:before{width:20px}.necklace-portal h2{font-size:clamp(42px,10.9vw,68px);letter-spacing:.06em}.necklace-portal h2 .covenant-vow{margin-top:16px;font-size:.62em;letter-spacing:.08em}.covenant-rule{margin:22px auto 15px;justify-content:center;width:130px;gap:10px}.covenant-rule:before,.covenant-rule:after{width:48px;background:linear-gradient(90deg,transparent,#a886b46b)}.covenant-rule:after{rotate:180deg}.necklace-portal p{max-width:none;font-size:11px;line-height:2.2;letter-spacing:.12em}.covenant-edition{display:none}.ritual-stage{width:min(100%,460px)}.necklace-portal .portal-button{width:100%;max-width:410px}.seal-core{gap:12px}.necklace-portal .portal-button strong{font-size:25px;letter-spacing:.14em;text-indent:.14em}.seal-core small{font-size:6px}.seal-crest{width:21px;height:29px}.seal-action{font-size:8px}.necklace-portal .ritual-caption{margin:10px 0 0;font-size:8px}.ritual-foot{left:22px;right:22px;bottom:28px;font-size:6px;letter-spacing:.12em;padding-top:19px}.ritual-foot>span:nth-child(2){font-size:15px}.ritual-flourish{opacity:.06}}
@media(max-width:360px){.necklace-portal{padding-inline:16px}.necklace-portal h2{font-size:40px}.necklace-portal .portal-button strong{font-size:21px}.seal-core{gap:10px}.seal-core small{font-size:5px}.seal-crest{height:23px}.seal-action{font-size:7px}}
@media(prefers-reduced-motion:reduce){.sigil-orbit,.sigil-counter{animation:none}.necklace-portal .portal-button,.ritual-circle,.seal-action b{transition:none}.necklace-portal .portal-button:hover,.necklace-portal .portal-button:focus-visible{transform:none}}
