/* Shared editorial layer. Brand purple, clear reading hierarchy, no new dependencies. */
:root{--ground:#08080b;--card:#101014;--panel:#141419;--ink:#f5f4f7;--ink2:#c0bdc9;--mut:#a09baa;--v:#8f0df3;--v2:#bb82ff;--vl:#d4b6ff;--edge:rgba(255,255,255,.11);--edge2:rgba(190,150,240,.3)}
html{scroll-padding-top:104px}
body{overflow-wrap:break-word}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d4b6ff;outline-offset:5px}
.site-skip{position:fixed;top:12px;left:20px;z-index:1000;padding:12px 18px;background:#fff;color:#151019;transform:translateY(-160%);border-radius:6px}
.site-skip:focus{transform:translateY(0)}
.pnav{padding-block:17px;background:rgba(8,8,11,.96);gap:24px}
.pnav .logo img{height:34px}
.pnav-links{gap:26px}
.pnav-links a{padding-block:10px}
.pnav .cta,.btnp{background:#8f0df3;box-shadow:none;border-radius:6px;font-weight:600}
.pnav .cta:hover,.btnp:hover{background:#a138f6}
.btnw{color:#eee8f6;border-color:var(--edge2);background:transparent;border-radius:6px}
.pnav-mobile{display:none;position:relative}
.pnav-mobile summary{cursor:pointer;list-style:none;font-size:14px;padding:11px 12px;border:1px solid var(--edge2);border-radius:6px}
.pnav-mobile summary::-webkit-details-marker{display:none}
.pnav-mobile[open] summary{background:#271539}
.pnav-mobile>div{position:absolute;right:0;top:55px;width:min(300px,calc(100vw - 40px));display:grid;background:#151119;border:1px solid var(--edge2);padding:12px;border-radius:10px;box-shadow:0 20px 60px #0008}
.pnav-mobile a{padding:13px 12px;border-radius:5px;color:#eee8f6}
.pnav-mobile a:hover{background:#ffffff0c}
.phero{padding-block:80px 64px;background:#0b0a0e}
.phero::before{display:none}
.phero::after{background:radial-gradient(ellipse at 85% 10%,#8f0df310,transparent 60%)}
.crumb{font-family:var(--f-body);font-size:13px;line-height:1.5;letter-spacing:0;margin-bottom:30px}
.pchip{font-size:11px;letter-spacing:.1em;border:0;background:none;padding:0;margin-bottom:24px;color:#cfacff}
.phero h1,.chero h1{font-size:clamp(34px,4.4vw,62px);font-weight:450;letter-spacing:-.042em;line-height:1.08;text-wrap:pretty}
.phero h1 span{color:#c4b4d4}
.plede{font-size:17px;line-height:1.8;margin-top:26px}
.ptrust{font-size:13px;line-height:1.7;gap:8px 20px;color:var(--mut)}
.ptrust span+span::before{content:'·';margin-right:20px;color:#ba83fa}
.pmock{border-radius:12px;background:#15121b;box-shadow:0 24px 80px #0003}
.pmock-head{font-size:11px;line-height:1.5;letter-spacing:.04em;padding:16px;flex-wrap:wrap}
.pmock-head i{background:#bb82ff}
.pmock-body{padding:18px;gap:12px}
.pmock .prow{font-size:13px;line-height:1.65;padding:13px;flex-wrap:wrap;gap:6px 12px}
.prow b{flex-basis:100%;font-size:14px}
.prow em{font-size:10px;line-height:1.5;white-space:normal}
.pbub{font-size:14px;line-height:1.6;max-width:90%}
.pbub.me{background:#8f0df318;border-color:#8f0df34d;color:#f1e5ff}
.pmain{padding-block:72px 96px}
.ptoc{top:105px;border-left:1px solid var(--edge);padding-left:14px}
.ptoc p{font-size:11px;line-height:1.5;letter-spacing:.09em}
.ptoc a{font-size:14px;padding:10px;line-height:1.5}
.ptoc i{font-size:11px}
.ab,.ab:first-of-type{background:transparent;border:0;border-top:1px solid var(--edge);border-radius:0;padding:32px 0 36px;margin:0}
.ab::before{display:none}
.ab h2{font-size:clamp(23px,2.1vw,29px);line-height:1.3;letter-spacing:-.025em;padding-right:0;margin-bottom:18px}
.ab p{font-size:16px;line-height:1.85;margin-bottom:18px}
.ab li{line-height:1.8;color:var(--ink2)}
.ab a:not([class]){color:#d4b6ff;text-decoration:underline;text-underline-offset:4px}
.prel-g a{border-radius:7px;padding:21px;font-size:15px;background:#111014}
.pcta{border-radius:10px;background:#131017;padding:clamp(30px,5vw,60px)}
.pfoot{background:#08080b}
.pfoot h4,.plegal p{font-size:11px;line-height:1.6;letter-spacing:.08em}
.pfoot p,.pfoot ul a{font-size:14px;line-height:1.8}
.pfoot-meta{font-family:var(--f-body);font-size:12px;letter-spacing:0;text-transform:none}
.plegal a{min-height:44px}
.cmeta span,.ctrip .k,.cflow-h,.cidx figcaption{font-size:11px;line-height:1.5;letter-spacing:.06em}
.cidx{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr))}
.cidx p{font-size:15px;line-height:1.7}
.directory-intro{max-width:720px;margin-bottom:40px}
.directory-search{display:block;max-width:680px;margin:28px 0 14px}
.directory-search span{display:block;margin-bottom:10px;color:var(--ink2)}
.directory-search input{width:100%;font:inherit;padding:17px 20px;background:#151219;color:#fff;border:1px solid var(--edge2);border-radius:7px}
.directory-count{color:var(--mut);font-size:14px}
.directory-group{border-top:1px solid var(--edge);padding:26px 0}
.directory-group summary{cursor:pointer;font-size:24px;letter-spacing:-.02em}
.directory-group summary span{font-size:14px;color:var(--mut);margin-left:12px}
.directory-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;list-style:none;padding:12px 0 0}
.directory-list li{border-bottom:1px solid var(--edge)}
.directory-list a{display:block;padding:17px 0;font-size:15px;line-height:1.5;color:var(--ink2)}
.directory-list a:hover{color:#d4b6ff}
[hidden]{display:none!important}
@media(min-width:1040px){.phero .wrap:not(:has(>.pmock)){display:block}.phero .wrap:not(:has(>.pmock)) h1{max-width:20ch}.phero .wrap:not(:has(>.pmock)) .plede{max-width:68ch}}
@media(max-width:1000px){.pnav-links{display:none}.pnav-mobile{display:block}.directory-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pnav{gap:10px;padding:14px 20px}.pnav .logo img{height:27px}.pnav>.cta{display:none}.phero{padding-block:46px 40px}.phero h1{font-size:36px}.pacts{gap:10px}.btnp,.btnw{padding:13px 18px}.pmock{margin-top:32px}.pmain{padding-block:38px 64px}.ptoc{grid-template-columns:1fr;border-left:0;padding:0 0 24px}.ptoc a{padding:8px 0}.directory-list{grid-template-columns:1fr}.ptrust{display:block}.ptrust span{display:block}.ptrust span+span::before{content:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
