/* v10: make the service, evidence and next step easy to find. */
:root{--muted:#536354}
.section-space{padding-block:78px}
.section-heading{margin-block:40px 36px}
.hero-screen{height:min(840px,calc(100svh - 112px));min-height:760px}
.hero-content{padding-top:38px}
.hero-business{margin-top:32px}
.hero-screen h1{font-size:clamp(60px,6.2vw,94px);margin-block:20px}
.hero-description{font-size:16px;line-height:1.95;letter-spacing:0;max-width:620px;text-wrap:pretty}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:23px}
.action-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:50px;padding:11px 20px;border:1px solid var(--ink);font-size:15px;line-height:1.7;transition:background .18s,color .18s}
.action-button span{font-size:22px;line-height:1}
.action-primary{background:var(--orange);color:var(--ink);border-color:var(--orange)}
.action-primary:hover{background:#efb58f}
.action-outline{border-color:rgba(250,247,239,.7);color:var(--cream);background:rgba(17,31,21,.18)}
.action-outline:hover{background:rgba(250,247,239,.12)}
.hero-controls{padding-top:24px}
.audience-entry{display:grid;grid-template-columns:.78fr 1.45fr;gap:70px}
.entry-heading h2{font-size:clamp(29px,2.9vw,42px);margin-top:22px;line-height:1.6}
.entry-heading .overline{font-size:12px;color:var(--orange-deep);line-height:1.8}
.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.audience-grid article{border-top:2px solid var(--orange-deep);padding-top:22px;display:flex;flex-direction:column;align-items:flex-start}
.audience-grid .overline{font-size:12px;color:var(--orange-deep)}
.audience-grid h3{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.7;margin-block:16px}
.audience-grid article>p:not(.overline){font-size:15px;line-height:2;color:var(--muted)}
.audience-grid .text-link{font-size:14px;margin-top:auto;padding-top:20px}
.practice{border-top:1px solid var(--line)}
.practice-heading{grid-template-columns:1.2fr 1fr;gap:45px}
.practice-heading h2{font-size:clamp(34px,3.6vw,49px)}
.featured-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.featured-cases>article{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.featured-cases .project-image img{aspect-ratio:1.45;width:100%;height:auto;object-fit:cover}
.featured-cases .project-category{font-size:12px;margin-top:19px;color:var(--orange-deep)}
.featured-cases h3{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.7;margin-block:7px 12px}
.case-description{font-size:15px;line-height:2;color:var(--muted)}
.case-record{font-size:12px;margin-top:15px;color:var(--muted)}
.featured-cases .text-link{font-size:14px;margin-top:12px}
.image-disclosure{position:absolute;top:12px;left:12px;max-width:calc(100% - 24px);background:rgba(250,247,239,.96);color:var(--ink);padding:5px 10px;font-size:12px;line-height:1.8;box-shadow:0 2px 12px #0001;text-align:left}
.content-fold{margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.content-fold>summary{list-style:none;display:flex;align-items:center;gap:20px;justify-content:space-between;min-height:64px;padding:16px 2px;font-size:17px;cursor:pointer;line-height:1.8}
.content-fold>summary::-webkit-details-marker{display:none}
.content-fold>summary>span:last-child{margin-left:auto;flex-shrink:0;font-size:25px;font-weight:300;transition:transform .2s}
.content-fold[open]>summary>span:last-child{transform:rotate(45deg)}
.content-fold>summary small{font-size:12px;border:1px solid var(--line);padding:3px 9px;white-space:nowrap;font-weight:400;margin-left:auto}
.fold-body{padding-block:14px 30px;min-width:0}
.content-fold:not([open])>.fold-body{display:none}
.practice-more .rail-controls{margin:0 0 20px;justify-content:flex-end}
.practice-foot{margin-top:18px;padding-top:15px;border:0}
.practice-foot p{font-size:12px}
.practice-foot p::first-letter{font-size:inherit}
.service .content-fold{border-color:#faf7ef55}
.service .content-fold>summary{color:var(--cream)}
.service-opening{margin-top:36px;gap:55px}
.service-opening h2{font-size:clamp(37px,3.6vw,53px)}
.service-opening-copy{font-size:15px;line-height:2}
.service-opening-copy p+p{font-size:14px}
.service-scenarios{margin-top:36px;padding-top:25px}
.service-subheading h3{font-size:30px}
.scenario-list{margin-top:24px}
.service-scenario{padding-block:22px}
.service-scenario>div{font-size:15px;line-height:2}
.service-scenario h4{font-size:25px}
.service-flow{margin-top:12px;gap:32px 44px}
.service-step h3{font-size:26px}
.service-step>p{font-size:15px;line-height:2}
.service-cadence{margin-top:36px;padding-top:28px}
.brand-definition{font-size:16px!important;line-height:2;color:var(--ink)!important}
.fanghua .section-heading{align-items:center}
.fanghua .section-intro{max-width:460px;font-size:15px}
.fanghua .section-intro>p+p{font-size:15px}
.method-fold{margin:0 0 28px}
.method-fold>summary{font-size:15px;min-height:58px}
.method-fold .course-innovation{margin:0;border:0;padding:20px 0 5px}
.course-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
.course-tabs .course-tab{min-height:67px;padding:16px 20px}
.course-tab.development-tab{min-height:52px;background:#edece3;font-size:17px}
.course-tab.development-tab[aria-selected="true"]{background:var(--orange)}
.course-tab .course-state{font-size:12px}
.course-panel{gap:30px 55px;padding-top:32px}
.course-copy h3{font-size:35px}
.course-copy>p{font-size:15px;line-height:2;max-width:540px}
.course-path{font-size:14px}
.after-class{font-size:14px;margin-top:20px}
.course-facts{margin-top:20px;padding-top:15px;border-top:1px solid var(--line);font-size:14px;line-height:1.9}
.course-facts>div{display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px;margin-top:8px}
.course-facts dt{color:var(--ink)}
.course-facts dd{color:var(--muted)}
.course-inquiry{margin-top:20px;font-size:14px;background:var(--green);color:var(--cream);border-color:var(--green)}
.course-inquiry:hover{background:var(--ink)}
.photo-note{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.band-fold{grid-column:1/-1;margin-top:0}
.band-fold .ai-band-course{margin-top:0;padding-top:16px;border:0}
.ecosystem{margin-top:30px;padding-top:25px;gap:15px 55px}
.ecosystem h3{font-size:29px}
.ecosystem>div{font-size:15px;line-height:2}
.course-note{font-size:13px;line-height:1.9}
.journey-heading{margin-top:36px}
.journey-photos{grid-template-rows:repeat(2,210px)}
.journey-notes{font-size:13px}
.journey-fold .journey-development{margin:0;padding-top:15px;border:0}
.festival{padding-block:20px}
.festival-fold{margin:0}
.festival-fold>summary{font-family:var(--serif);font-size:27px;min-height:88px}
.festival-fold .festival-top{padding-top:25px}
.festival-fold .festival-gallery{margin-top:30px}
.cooperation{padding-top:74px}
.cooperation-main{gap:70px}
.cooperation-steps{margin-top:36px}
.cooperation-steps p,.cooperation-main>div>p{font-size:15px}
.contact-line{scroll-margin-top:24px}
.inquiry-context{grid-column:1/-1;width:100%;padding:13px 18px;background:#e8e8dc;border-left:3px solid var(--orange-deep);font-size:16px;line-height:1.8}
.contact-details .contact-phone-action{font-size:14px}
.contact-wechat figcaption p{font-size:14px}
.contact-invitation{font-size:15px}
.team-heading{margin-block:36px}
.team-heading .section-intro{font-size:15px}
.team-member .member-bio{font-size:14px;line-height:1.95}
.team-member>p,.team-member>span,.team-member .education{font-size:14px}
.team-member h3 small,.education small{font-size:13px}
.partners-heading{margin-block:32px}
.partners-heading>p{font-size:15px}
.partner>p,.partner.wordmark p{font-size:13px}
.partners-growing{font-size:13px}
.story-fold{margin-top:22px}
.story-fold .story-layout{margin-top:25px}
.story-fold .story-photo-row{margin-top:35px}
.story-fold .strengths{margin-top:35px}
.story-prose,.story-people>p,.strengths p{font-size:15px;line-height:2}
.mobile-contact-bar{display:none}
@media(max-width:1150px){
 .audience-entry{grid-template-columns:1fr;gap:32px}
 .entry-heading{display:flex;justify-content:space-between;gap:30px;align-items:start}
 .entry-heading h2{margin:0;font-size:34px}
 .audience-grid{gap:36px}
 .featured-cases{gap:22px}
 .featured-cases h3{font-size:22px}
 .hero-screen{min-height:760px}
}
@media(max-width:900px){
 .section-space{padding-block:58px}
 .hero-screen{height:auto;min-height:0}
 .hero-content{min-height:740px;padding-block:32px 25px}
 .hero-screen h1{font-size:clamp(54px,8vw,76px)}
 .hero-description{font-size:17px}
 .hero-business{font-size:16px;margin-top:30px}
 .hero-controls{padding-top:30px}
 .hero-scene{font-size:13px;min-height:55px}
 .site-header .main-nav a{display:flex!important}
 .service-opening{gap:25px}
 .section-intro,.section-intro p+p,.service-opening-copy,.service-opening-copy p+p{font-size:16px!important;line-height:2}
 .service-scenario>div,.service-step>p{font-size:16px}
 .featured-cases{grid-template-columns:1fr;gap:28px}
 .featured-cases>article{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;align-content:start}
 .featured-cases .project-image{grid-column:1;grid-row:1/6;align-self:start}
 .featured-cases .project-category{margin-top:0}
 .featured-cases .project-category,.featured-cases h3,.featured-cases .case-description,.featured-cases .case-record,.featured-cases .text-link{grid-column:2}
 .featured-cases h3{font-size:25px;margin:8px 0}
 .case-description{font-size:16px}
 .course-panel{gap:25px}
 .course-copy>p,.band-course-copy>p:not(.overline),.innovation-copy,.ecosystem>div{font-size:16px!important;line-height:2}
 .course-path,.after-class,.course-facts{font-size:15px}
 .service-cadence .cadence-heading>p,.service-cadence .cadence-pair article>p{font-size:16px;line-height:2}
 .cooperation-main>div>p,.cooperation-steps p{font-size:16px}
 .story-prose,.story-people>p,.strengths p{font-size:16px;line-height:2}
 .photo-note,.course-state,.development-label{font-size:13px}
 .course-image figcaption{font-size:14px}
 .service .overline,.section-topline>p,.overline{font-size:13px;line-height:1.9}
 .section-english{display:none}
}
@media(max-width:680px){
 body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
 .section-space{padding-block:45px}
 .section-heading{margin-block:28px;gap:22px}
 .hero-content{min-height:790px;padding-top:25px}
 .hero-business{font-size:15px;margin-top:29px;letter-spacing:.08em}
 .hero-screen h1{font-size:clamp(51px,12.8vw,76px);margin-block:23px}
 .hero-description{font-size:16px;line-height:1.95;max-width:430px}
 .hero-actions{gap:12px;margin-top:23px;max-width:100%}
 .hero-actions .action-button{font-size:15px;min-height:52px;padding-inline:16px;gap:16px}
 .hero-controls{gap:12px;padding-top:32px}
 .hero-scene{font-size:12px;line-height:1.9;padding-right:0}
 .hero-scene>span{font-size:11px}
 .entry-heading{display:block}
 .entry-heading h2{font-size:32px;margin-top:18px}
 .audience-grid{grid-template-columns:1fr;gap:30px}
 .audience-grid h3{font-size:26px;margin-block:12px}
 .audience-grid .overline,.entry-heading .overline{font-size:14px}
 .audience-grid article>p:not(.overline){font-size:16px}
 .audience-grid .text-link{font-size:16px;padding-top:14px}
 .practice-heading{grid-template-columns:1fr}
 .practice-heading h2{font-size:35px}
 .featured-cases>article{display:flex;gap:0}
 .featured-cases{gap:32px}
 .featured-cases .project-category{margin-top:15px;font-size:14px}
 .featured-cases h3{font-size:26px;line-height:1.55;margin-block:10px}
 .case-record{font-size:14px}
 .featured-cases .text-link{font-size:16px}
 .image-disclosure{font-size:13px;top:9px;left:9px;max-width:calc(100% - 18px);padding:5px 9px}
 .content-fold>summary{font-size:16px;gap:12px;min-height:66px}
 .content-fold>summary small{font-size:13px;white-space:normal}
 .fold-body{padding-bottom:23px}
 .practice-foot{display:block}
 .practice-foot p{font-size:14px}
 .practice-foot .text-link{font-size:15px;margin-top:10px}
 .practice-rail{margin-right:0;padding-right:0}
 .practice-item{flex-basis:92%}
 .practice-item .project-category{font-size:14px}
 .service-opening .overline{font-size:13px}
 .service-opening h2{font-size:35px;line-height:1.6}
 .service-subheading h3{font-size:29px}
 .service-scenario h4{font-size:26px}
 .service-scenario .scenario-deliverables{font-size:14px}
 .service-step h3{font-size:25px}
 .service-step>p{max-width:none;margin-left:0}
 .service .monthly-example .example-note{font-size:14px}
 .service .monthly-example dd{font-size:14px}
 .fanghua .section-heading h2{font-size:38px}
 .brand-definition{font-size:17px!important}
 .course-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
 .course-tabs .course-tab{font-size:21px;min-height:66px;padding:14px 13px;gap:10px}
 .course-tabs .course-tab:last-child{grid-column:auto}
 .course-tab.development-tab{font-size:18px;min-height:58px}
 .course-tab .course-state{font-size:13px}
 .course-tab>span:first-child{font-size:12px}
 .course-copy h3{font-size:32px}
 .course-copy .overline{font-size:14px}
 .course-copy .course-path li{font-size:16px;grid-template-columns:90px minmax(0,1fr);gap:12px;line-height:1.9}
 .course-facts{font-size:15px}
 .course-inquiry{font-size:16px;width:100%;margin-top:22px}
 .course-image figcaption,.course-note{font-size:14px}
 .after-class{font-size:15px;grid-template-columns:78px minmax(0,1fr)}
 .development-note{font-size:14px!important}
 .journey-photos{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto}
 .journey-photos .journey-photo-main{aspect-ratio:1.5}
 .journey-photos .journey-photo-main img{height:auto;aspect-ratio:1.5;object-fit:contain}
 .journey-notes{font-size:14px}
 .journey-notes .text-link{font-size:16px}
 .journey-development-intro,.journey-direction-copy{font-size:16px}
 .journey-direction-copy .direction-output{font-size:14px}
 .journey-direction-title>p,.journey-direction figcaption{font-size:13px}
 .journey-development-foot>p{font-size:14px}
 .festival{padding-block:10px}
 .festival-fold>summary{font-size:23px;flex-wrap:wrap;justify-content:flex-start;gap:9px 15px}
 .festival-fold>summary small{margin-left:0}
 .festival h2{font-size:36px}
 .festival-lead,.festival-features p{font-size:16px;line-height:2}
 .festival-gallery figcaption{display:block}
 .festival-gallery figcaption>span,.festival-gallery figcaption>p,.festival-footer{font-size:14px}
 .cooperation-steps{gap:22px}
 .cooperation-main h2{font-size:38px}
 .contact-invitation,.contact-details .contact-email{font-size:16px}
 .contact-wechat figcaption p{font-size:15px}
 .contact-phone-number{font-size:32px}
 .team-list{grid-template-columns:minmax(0,1fr);gap:30px}
 .team-member{display:grid;grid-template-columns:105px minmax(0,1fr);column-gap:20px;align-items:start;padding-bottom:25px;border-bottom:1px solid var(--line)}
 .team-member img{grid-column:1;grid-row:1/6;aspect-ratio:3/4;object-position:center 22%}
 .team-member>p,.team-member>span,.team-member .education,.team-member .member-bio,.team-member h3{grid-column:2;min-width:0}
 .team-member>p{font-size:14px;margin:0 0 5px}
 .team-member h3{font-size:26px}
 .team-member h3 small{font-size:14px;display:inline;margin-left:7px}
 .team-member>span,.team-member .education{font-size:14px;min-height:0;margin-top:7px}
 .education small{font-size:13px}
 .team-member .member-bio{font-size:16px;line-height:1.95;padding-top:14px;margin-top:12px;grid-column:1/-1}
 .partner>p,.partner.wordmark p,.partners-growing{font-size:14px}
 .partners-heading>p{font-size:16px}
 .story-people h3{font-size:30px}
 .story-prose .story-lead{font-size:22px}
 .strengths{grid-template-columns:1fr;gap:22px}
 .strengths h3{font-size:24px}
 .strengths>div>span{font-size:13px}
 .mobile-contact-bar{position:fixed;bottom:0;left:0;right:0;z-index:40;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:var(--cream);box-shadow:0 -3px 18px #23372e18;border-top:1px solid var(--line)}
 .mobile-contact-bar>a,.mobile-contact-bar>button{display:flex;align-items:center;justify-content:center;gap:20px;min-height:46px;padding:9px 12px;font-size:16px;line-height:1.7;border:1px solid var(--green);border-radius:0;background:var(--cream);color:var(--ink)}
 .mobile-contact-bar>button{background:var(--green);color:var(--cream)}
 body.has-dialog .mobile-contact-bar{visibility:hidden}
 .gallery-dialog{max-height:88svh}
 .gallery-dialog figcaption{font-size:15px;line-height:1.9}
 .footer-bottom{font-size:13px}
}
@media(max-width:360px){
 .hero-actions{flex-direction:column;width:100%}
 .hero-actions .action-button{width:100%}
 .hero-content{min-height:850px}
 .course-tabs .course-tab{font-size:19px}
 .course-tab.development-tab{font-size:17px}
 .team-member{grid-template-columns:92px minmax(0,1fr);column-gap:16px}
 .contact-phone-number{font-size:29px}
}
@media(prefers-reduced-motion:reduce){.content-fold>summary>span:last-child{transition:none}}
