/* Kimi's visual rules live unchanged in kimi-style.css. Responsive behavior,
   disclosures and the compact service explanation reuse its existing tokens. */
main#home{scroll-margin-top:62px}
section[id],div[id="request"]{scroll-margin-top:80px}
.topbar .logo,.topbar .nav a,.topbar>.wrap>.btn{min-height:44px}
.topbar .logo,.topbar .nav a{display:flex;align-items:center}
.topbar .logo,.note-topbar .logo{background:none;color:var(--txt)}
.topbar .logo img,.note-topbar .logo img{display:block;width:190px;height:60px;max-width:100%;object-fit:cover;object-position:center;mix-blend-mode:screen}
.preview-note{color:var(--txt3);font-size:11px;line-height:1.6;margin-top:9px}
.about-copy{color:var(--txt2);line-height:2;margin:16px 0 24px}
.case-body p{color:var(--txt2);font-size:13px;line-height:1.7;margin-top:8px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
@media(max-width:760px){main#home,section[id],div[id="request"]{scroll-margin-top:132px}.topbar .wrap{height:auto;min-height:62px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;gap:10px}.topbar .logo{flex:none;margin-right:auto}.topbar .logo img,.note-topbar .logo img{width:165px;height:52px}.topbar .nav{order:3;flex:0 0 100%;width:100%;overflow:visible}.topbar .nav a{display:none;align-items:center;justify-content:center;min-height:42px;font-size:12px;padding:7px 10px}.topbar .nav a.mobile-primary{display:flex;flex:1}.topbar>.wrap>.btn{flex:none;min-height:44px}}
.quick-grid,.quick-grid>*{min-width:0}.quick-grid input,.quick-grid select{width:100%;min-width:0}
@media(max-width:480px){.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-card{min-width:0;padding:20px}.hero h1{font-size:32px}.hero .wrap{gap:26px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.flt-bar select,.flt-bar input{min-width:0}.empty[hidden]{display:none}
@media(max-width:760px){.flt-bar>*{max-width:100%}.flt-bar select{flex:1 1 40%}.flt-bar input,#people-query{flex:1 1 100%!important;width:100%;min-width:0!important}.t-grid,.t-card,.t-body{min-width:0}.t-foot{gap:10px;flex-wrap:wrap}.detail{grid-template-columns:1fr}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.person-card-link{display:block}.person-card-link:focus-visible{outline:2px solid var(--acc);outline-offset:-3px}.work p{padding:10px;font-size:12px;color:var(--txt2);line-height:1.6}
.person-card-clickable{cursor:pointer}.person-card-clickable:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
@media(max-width:560px){.t-foot .btn{min-height:44px}}

.quick-grid textarea{width:100%;min-height:80px;resize:vertical;background:var(--bg2);border:1px solid var(--line);border-radius:8px;color:var(--txt);padding:10px 12px;font:inherit}.quick-grid textarea:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.request-card{padding:0}.quick-request>summary{display:flex;align-items:center;gap:18px;padding:24px 26px;cursor:pointer;list-style:none}.quick-request>summary::-webkit-details-marker{display:none}.quick-request-copy{display:grid;gap:5px;min-width:0}.quick-request-copy strong{font-size:16px;color:var(--txt)}.quick-request-copy small{font-size:12px;line-height:1.55;color:var(--txt2)}.quick-request-action{margin-left:auto;color:var(--acc2);font-size:13px;font-weight:700;white-space:nowrap}.quick-request[open]>summary{border-bottom:1px solid var(--line)}.quick-request[open] .quick-request-action{font-size:0}.quick-request[open] .quick-request-action::after{content:'收起';font-size:13px}.quick-request-body{padding:22px 26px 26px}
.staffing-builder{display:grid;gap:10px}.staffing-row{display:grid;grid-template-columns:minmax(0,1fr) 100px auto;gap:10px;align-items:end}.staffing-row:first-child{grid-template-columns:minmax(0,1fr) 100px}.staffing-row .remove-staffing{padding:9px 12px}.staffing-add{justify-self:start}
.privacy-confirm{display:flex;align-items:flex-start;gap:9px;margin-top:12px;color:var(--txt2);font-size:11px;line-height:1.6;cursor:pointer}.privacy-confirm input{flex:0 0 auto;width:16px;height:16px;margin:1px 0 0;accent-color:var(--acc)}.privacy-confirm a,.footer-links a{color:var(--acc2)}.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 14px}.footer-links span{white-space:nowrap}
#services{padding-bottom:32px}.contact-section{padding-top:24px;padding-bottom:48px}.contact-section .sec-h{margin-bottom:18px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.contact-card{min-height:76px;background:var(--bg3);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.contact-card summary,.contact-phone{display:flex;align-items:center;gap:12px}.contact-card summary{min-height:46px;cursor:pointer;list-style:none}.contact-card summary::-webkit-details-marker{display:none}.contact-icon{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:rgba(168,85,247,.13);font-size:22px}.contact-summary{display:grid;gap:4px;min-width:0}.contact-summary b{font-size:15px;color:var(--txt)}.contact-summary small{color:var(--txt2);font-size:13px}.contact-open-label{margin-left:auto;color:var(--acc2);font-size:12px;white-space:nowrap}.contact-wechat[open] .contact-open-label{font-size:0}.contact-wechat[open] .contact-open-label::after{content:'收起';font-size:12px}.contact-detail{padding:4px 0 4px 54px}.contact-detail p{color:var(--txt2);font-size:12px;line-height:1.7;margin-top:10px}.contact-phone .contact-action{margin:0 0 0 auto}.contact-qr{display:block;width:min(190px,100%);height:auto;margin:12px 0 0;border-radius:12px;background:#fff}.contact-qr[hidden],.contact-action[hidden]{display:none}
@media(min-width:1100px){.cat-grid{grid-template-columns:repeat(9,minmax(0,1fr))}}
@media(max-width:560px){.topbar .nav a,.hero-btns .btn,.quick-request .btn,.sec-h>.btn,.contact-action,.legal-actions .btn{min-height:44px}.quick-grid input,.quick-grid select,.staffing-add,.staffing-row .remove-staffing{min-height:44px}.staffing-row,.staffing-row:first-child{grid-template-columns:minmax(0,1fr) 88px auto}.staffing-row:first-child{grid-template-columns:minmax(0,1fr) 88px}.scene-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.scene{padding:20px 15px}.contact-grid{grid-template-columns:1fr}.contact-section{padding-top:24px;padding-bottom:38px}.contact-card{padding:12px 14px}.contact-phone .contact-action{padding:8px 11px}.contact-detail{padding-left:54px}}
.about-page{padding:42px 0 72px;min-height:70vh}.about-hero{max-width:860px;padding:28px 0 48px;border-bottom:1px solid var(--line)}.about-eyebrow{font-size:11px;font-weight:700;letter-spacing:.28em;color:var(--acc2)}.about-hero h1{font-size:clamp(44px,6vw,76px);letter-spacing:-.04em;line-height:1.12;margin:16px 0 22px}.about-hero h1 span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.about-lead{max-width:700px;color:var(--txt2);font-size:clamp(16px,2vw,21px);line-height:1.8}.about-article{max-width:860px}.about-article section{display:grid;grid-template-columns:210px minmax(0,1fr);gap:42px;padding:38px 0;border-bottom:1px solid var(--line)}.about-article h2{font-size:19px;line-height:1.45}.about-article p{color:var(--txt2);font-size:15px;line-height:2}.about-article .about-closing{display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:0}.about-closing p{max-width:550px;color:var(--txt)}@media(max-width:640px){.quick-request>summary{padding:20px}.quick-request-body{padding:20px}.about-page{padding-top:26px}.about-hero{padding:14px 0 34px}.about-article section{grid-template-columns:1fr;gap:10px;padding:28px 0}.about-article .about-closing{align-items:flex-start;flex-direction:column}.about-closing .btn{width:100%}}
.people-types{padding:10px 0 42px}.people-types .cat-card:hover{transform:none;box-shadow:none}.people-count{font-size:13px;font-weight:400;color:var(--txt3);-webkit-text-fill-color:var(--txt3)}#demo-directory{padding-top:38px;border-top:1px solid var(--line)}
.legal-page{padding:56px 0 64px;min-height:calc(100vh - 120px)}.legal-document{max-width:820px}.legal-kicker{color:var(--acc2);font-size:12px;font-weight:700;letter-spacing:.12em}.legal-document h1{font-size:34px;margin:8px 0 6px}.legal-meta{color:var(--txt3);font-size:12px;margin-bottom:30px}.legal-document section{padding:20px 0;border-top:1px solid var(--line)}.legal-document h2{font-size:17px;margin:0 0 9px}.legal-document section p{color:var(--txt2);font-size:14px;line-height:1.9;margin:0}.legal-document strong{color:var(--txt)}.legal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}@media(max-width:560px){.footer-links{justify-content:flex-start;margin-top:14px}.footer-links a{display:inline-flex;align-items:center;min-height:44px}.legal-page{padding-top:44px}.legal-document h1{font-size:28px}}

.hero-btns .btn[hidden]{display:none}
.filing-link[hidden]{display:none!important}
.filing-link{color:var(--txt3);font-size:12px}
.filing-link:hover{color:var(--txt)}
.note-footer .note-shell{flex-wrap:wrap}

.scene>span:not(:last-child){color:var(--txt2);line-height:1.7}
.service-guide{margin-top:20px}
.service-guide h3{font-size:16px;font-weight:700;margin:0 0 10px}
.service-flow{color:var(--txt2);font-size:14px;line-height:1.9;margin:0}
.service-flow>span{display:inline-block;white-space:nowrap}
.service-terms{border-top:1px solid var(--line);margin-top:16px}
.service-terms>summary{min-height:48px;display:list-item;list-style-position:inside;cursor:pointer;color:var(--txt);font-size:13px;padding:14px 0;line-height:1.6}
.service-terms>summary::marker{color:var(--acc2)}
.service-terms>summary:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.service-terms dl{margin:0}
.service-terms dl>div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.8}
.service-terms dt{color:var(--txt);font-weight:600}
.service-terms dd{color:var(--txt2);margin:0}
@media(max-width:560px){.service-guide{padding:20px}.service-terms dl>div{grid-template-columns:1fr;gap:4px}}

/* Stage-photo hero: the image is a clean asset; all copy and controls remain HTML. */
.hero{
  display:flex;
  align-items:center;
  min-height:570px;
  padding:78px 0 96px;
  background:
    linear-gradient(90deg,rgba(5,4,18,.90) 0%,rgba(5,4,18,.78) 28%,rgba(5,4,18,.30) 58%,rgba(5,4,18,.04) 100%),
    linear-gradient(0deg,rgba(8,5,20,.52),transparent 30%),
    var(--editorial-hero-image, url("changli-club-hero-v2.jpg")) center 48% / cover no-repeat;
}
.hero .wrap{display:block;width:100%}
.hero-content{max-width:650px}
.hero h1{font-size:clamp(42px,4.6vw,64px);line-height:1.18;color:#fff;text-shadow:0 3px 30px rgba(0,0,0,.36)}
.hero h1 em{background:linear-gradient(125deg,#fff 8%,#f4d8ff 55%,#e087ff 100%);-webkit-background-clip:text;background-clip:text}
.hero p{color:#e9e0f0;text-shadow:0 2px 18px rgba(0,0,0,.6)}
.hero-btns .btn-o{border-color:rgba(244,216,255,.6);color:#fff;background:rgba(10,5,23,.36);backdrop-filter:blur(8px)}
.request-section{padding:26px 0 10px;background:var(--bg)}
.request-section[hidden]{display:none}
.request-section .request-card{max-width:760px;margin:auto}
@media(max-width:760px){
  .hero{min-height:510px;padding:68px 0 76px;background-position:center,center,72% center;background-size:auto,auto,cover;background-image:linear-gradient(90deg,rgba(5,4,18,.89),rgba(5,4,18,.62)),linear-gradient(0deg,rgba(8,5,20,.6),transparent 45%),var(--editorial-hero-image, url("changli-club-hero-v2.jpg"))}
  .hero-content{max-width:530px}
  .hero h1{font-size:clamp(34px,8vw,48px)}
  .hero p{font-size:14px;line-height:1.7}
  .hero p br{display:none}
}
@media(max-width:480px){
  .hero{min-height:500px;padding:62px 0 72px;background-position:center,center,76% center}
  .hero .wrap{gap:0}
  .hero h1{font-size:34px}
  .hero-btns{gap:10px}
  .hero-btns .btn{font-size:12px;padding:10px 13px}
  .request-section{padding-top:18px}
}

/* Illustrated service and role cards. Artwork depicts scenes, not past projects or bookable people. */
.illustration-note{color:var(--txt3);font-size:11px;line-height:1.5;text-align:right;max-width:210px}
#services .scene-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
#services .scene{display:block;min-width:0;overflow:hidden;padding:0;border-radius:16px;background:#151320;transition:border-color .2s,transform .2s,box-shadow .2s}
#services .scene:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(5,3,14,.32)}
.scene-art{display:block;height:184px;background-image:linear-gradient(0deg,rgba(13,8,25,.15),transparent 45%),url("changli-scenes-illustration.jpg");background-size:100% 100%,300% auto;background-repeat:no-repeat}
.scene--1 .scene-art{background-position:center,0 17%}.scene--2 .scene-art{background-position:center,50% 17%}.scene--3 .scene-art{background-position:center,100% 17%}
.scene--4 .scene-art{background-position:center,0 83%}.scene--5 .scene-art{background-position:center,50% 83%}.scene--6 .scene-art{background-position:center,100% 83%}
.scene-copy{display:grid;gap:7px;padding:17px 20px 18px;min-height:156px}
.scene-copy small{font-size:10px;letter-spacing:.13em;color:#bd93e5}
.scene-copy b{font-size:18px;line-height:1.3;color:var(--txt)}
.scene-copy .scene-description{font-size:12px;line-height:1.6;color:var(--txt2)}
.scene-copy .scene-link{align-self:end;font-size:12px;font-weight:700;color:#f187ce}
.service-guide{padding:24px 26px}
.service-steps{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0 0;padding:0}
.service-steps li{display:grid;align-content:start;gap:5px;border-top:1px solid #544066;padding-top:14px;min-width:0}
.service-steps li>span{font-size:11px;font-weight:800;letter-spacing:.12em;color:#d878e7}
.service-steps strong{font-size:14px;color:var(--txt)}
.service-steps small{font-size:11px;line-height:1.55;color:var(--txt2)}

.people-types .cat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.people-types .cat-card{overflow:hidden;text-align:left;padding:0;border-radius:15px;background:#151320}
.people-types .cat-art{height:132px;background-image:linear-gradient(0deg,rgba(10,6,21,.08),transparent 50%),url("changli-roles-illustration.jpg");background-size:100% 100%,300% auto;background-repeat:no-repeat}
.cat-art--1{background-position:center,0 7%}.cat-art--2{background-position:center,50% 7%}.cat-art--3{background-position:center,100% 7%}
.cat-art--4{background-position:center,0 50%}.cat-art--5{background-position:center,50% 50%}.cat-art--6{background-position:center,100% 50%}
.cat-art--7{background-position:center,0 93%}.cat-art--8{background-position:center,50% 93%}.cat-art--9{background-position:center,100% 93%}
.cat-copy{padding:13px 15px 15px}
.people-types .cat-card b{font-size:15px}
.people-types .cat-card p{font-size:12px;margin-top:3px}
@media(max-width:900px){#services .scene-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.people-types .cat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){#services .sec-h,.people-types .sec-h{align-items:flex-start;flex-direction:column;gap:8px}.illustration-note{text-align:left;max-width:none}#services .scene-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.scene-art{height:118px}.scene-copy{padding:12px;gap:5px;min-height:163px}.scene-copy b{font-size:15px}.scene-copy .scene-description{font-size:11px}.scene-copy .scene-link{font-size:11px}.people-types .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.people-types .cat-art{height:122px}.service-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.service-guide{padding:20px}}
@media(max-width:350px){#services .scene-grid{grid-template-columns:1fr}.scene-art{height:170px}.scene-copy{min-height:0}}

/* Public content uses the same visual language as the editorial landing page. */
.published-content-section[hidden]{display:none}
.published-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.published-case{overflow:hidden;min-width:0;border:1px solid var(--line);border-radius:16px;background:#151320}
.published-case-cover{display:block;width:100%;height:210px;object-fit:cover}
.published-case-copy{padding:18px 20px 20px}
.published-case-copy small{color:#bd93e5;font-size:11px;letter-spacing:.1em}
.published-case-copy h3{margin:7px 0;font-size:19px;line-height:1.4;color:var(--txt)}
.published-case-copy>p{color:var(--txt2);font-size:13px;line-height:1.75}
.published-case-detail{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.published-case-detail summary{cursor:pointer;color:#f187ce;font-size:12px;font-weight:700}
.published-case-detail summary:focus-visible,.published-person:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.published-case-body{white-space:pre-wrap;color:var(--txt2);font-size:13px;line-height:1.8}
.published-case-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}
.published-case-images img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:7px}
#published-people{margin-top:46px}
.published-people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.published-person{display:grid;grid-template-columns:100px minmax(0,1fr);gap:14px;min-width:0;overflow:hidden;padding:10px;border:1px solid var(--line);border-radius:14px;background:#151320;color:var(--txt);text-decoration:none}
.published-person:hover{border-color:var(--acc);transform:translateY(-2px)}
.published-person>img{width:100px;height:124px;object-fit:cover;border-radius:8px}
.published-person-copy{display:grid;align-content:center;gap:8px;min-width:0}
.published-person-copy b{font-size:17px}
.published-person-copy small{font-size:12px;color:#bd93e5}
.published-person-copy>span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--txt2);font-size:12px;line-height:1.6}
@media(max-width:900px){.published-case-grid,.published-people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.published-case-grid,.published-people-grid{grid-template-columns:1fr}.published-case-cover{height:190px}#published-people{margin-top:34px}}
