/* Independent PSD artwork, accessible product tabs and bilingual content flow. */
.hero{background:#777deb url("assets/hero-gradient.webp") center/100% 100% no-repeat}
.hero-composition{position:relative;container-type:inline-size;--hero-card-radius:1.3671875cqw;--hero-card-stroke:.390625cqw;--hero-card-alpha:.44;width:min(100%,2560px);aspect-ratio:2560/1162;margin:auto}
.hero-composition img{position:absolute;height:auto;filter:drop-shadow(0 20px 22px #49459026)}
.hero-composition .hero-members,.hero-composition .hero-classes,.hero-composition .hero-revenue,.hero-composition .hero-teacher{outline:var(--hero-card-stroke) solid rgb(255 255 255 / var(--hero-card-alpha));border-radius:var(--hero-card-radius)}
.hero-phone{left:39.21875%;top:12.39%;width:21.71875%}
.hero-members{left:55.97656%;top:4.561101%;width:14.609375%}
.hero-classes{left:22.22656%;top:24.096%;width:13.4375%}
.hero-revenue{left:68.515625%;top:42.34%;width:13.28125%}
.hero-teacher{left:15.585938%;top:68.072%;width:16.796875%}
.language-control{position:relative;flex-shrink:0}
/* PSD layer 989: clipped white, Soft Light, opacity 120/255. */
.contact .button-blue{position:relative;isolation:isolate}
.contact .button-blue::before{content:"";position:absolute;inset:0;border-radius:inherit;background:#fff;mix-blend-mode:soft-light;opacity:0;pointer-events:none;transition:opacity .2s}
.contact .button-blue:hover,.contact .button-blue:focus-visible{transform:none;box-shadow:none}
.contact .button-blue:hover::before,.contact .button-blue:focus-visible::before{opacity:.470588}
@media(prefers-reduced-motion:reduce){.contact .button-blue::before{transition:none}}
.language{gap:10px;min-height:44px;padding:0 8px;white-space:nowrap}
.language .language-label{font-size:16px;line-height:24px}
.language svg{flex:none;transition:transform .2s}
.language[aria-expanded=true] svg{transform:rotate(180deg)}
#language-options{position:absolute;z-index:20;right:0;top:calc(100% + 8px);padding:6px;min-width:144px;border-radius:14px;background:#fff;color:#242944;box-shadow:0 12px 36px #26256230}
#language-options button{display:block;min-height:44px;width:100%;text-align:left;border-radius:9px;padding:8px 14px}
#language-options button:hover,#language-options button[aria-pressed=true]{background:#eef1ff;color:#4b70ff}
.product{height:auto;min-height:864px;padding-bottom:84px}
.product-layout{align-items:start}
.management-list{display:flex;flex-direction:column;gap:32px;padding-top:45px;min-width:0}
.management-item,.management-item:first-child{display:grid;grid-template-columns:56px minmax(0,1fr);width:100%;min-height:56px;margin:0;padding:0;gap:0 22px;align-items:start;text-align:left;border-radius:8px;background:transparent;color:var(--ink)}
.management-name{display:flex;align-items:center;min-height:56px;font-size:22px;line-height:1.5;transition:color .2s}
.management-item:hover .management-name,.management-item:focus-visible .management-name{color:var(--blue)}
.management-item img{grid-column:1;grid-row:1;width:56px;height:56px;object-fit:contain}
.management-description-wrap{grid-column:2;display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .32s cubic-bezier(.22,1,.36,1),opacity .24s,visibility 0s .32s}
.management-description{min-height:0;overflow:hidden;font-size:16px;line-height:1.8;color:var(--muted)}
.management-description-text{display:block;padding-top:10px}
.management-item[aria-selected=true] .management-description-wrap{grid-template-rows:1fr;opacity:1;visibility:visible;transition-delay:0s}
.product-preview{min-width:0;width:100%}
.product-mobile-list{display:none}
.product-artwork{position:relative;container-type:inline-size;aspect-ratio:856/763;overflow:hidden;isolation:isolate;contain:paint;border-radius:64px;background: url("assets/product-background.webp") center/cover}
/* Repeat the shared backdrop within each fading scene so blend effects always
   see the actual gradient, including while scene opacity is below 1. */
.product-state{position:absolute;inset:0;opacity:0;pointer-events:none;background:inherit;border-radius:inherit}
.product-state.is-current{opacity:1}
.product-piece{position:absolute;border-radius:var(--radius)}
.product-piece img{position:relative;display:block;width:100%;height:100%;border-radius:inherit}
.product-piece img.product-screen-overlay{position:absolute;border-radius:var(--radius) var(--radius) 0 0}
.product-piece::after{content:"";position:absolute;inset:calc(0px - var(--stroke));border:var(--stroke) solid rgb(255 255 255 / var(--stroke-alpha));border-radius:calc(var(--radius) + var(--stroke));mix-blend-mode:soft-light;pointer-events:none}
.product-piece.has-shadow::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:var(--piece-shadow);mix-blend-mode:multiply;pointer-events:none}
.store-button{display:flex;align-items:center;justify-content:center;gap:14px;text-align:left;min-width:0;transition:background .2s,border-color .2s}
.mainland-contact .button-glass{transition:background .2s,border-color .2s}
.store-button:hover,.mainland-contact .button-glass:hover{background:#ffffff30;border-color:#fff;transform:none;box-shadow:none}
.store-button .store-icon{width:38px;height:45px;object-fit:contain;flex:none;border-radius:0}
.store-button:nth-child(2) .store-icon{width:34px;height:39px}
.store-button-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0;width:123px;gap:3px}
.store-button:nth-child(2) .store-button-copy{width:135px}
.store-button .store-wordmark{display:block;width:100%;height:auto;object-fit:contain;border-radius:0}
.store-button small{display:block;font:16px/20px Arial,"Source Han Sans",sans-serif}
@media(max-width:1199px){
 /* Scale every button dimension from the same 223 x 77 desktop design. */
 .app-downloads{container-type:inline-size}
 .store-button{--store-unit:calc((100cqw - 12px) / 446);height:calc(77 * var(--store-unit));padding:calc(8 * var(--store-unit)) calc(14 * var(--store-unit));gap:calc(14 * var(--store-unit));border-width:var(--store-unit);border-radius:calc(16 * var(--store-unit))}
 .store-button .store-icon{width:calc(38 * var(--store-unit));height:calc(45 * var(--store-unit))}
 .store-button:nth-child(2) .store-icon{width:calc(34 * var(--store-unit));height:calc(39 * var(--store-unit))}
 .store-button-copy{flex:none;width:calc(123 * var(--store-unit));gap:calc(3 * var(--store-unit))}
 .store-button:nth-child(2) .store-button-copy{width:calc(135 * var(--store-unit))}
 .store-button .store-wordmark{flex:none}
 .store-button small{font-size:calc(16 * var(--store-unit));line-height:calc(20 * var(--store-unit));white-space:nowrap}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.testimonials{--testimonial-duration:.68s;--testimonial-ease:cubic-bezier(.25,.1,.25,1);height:auto;min-height:839px;padding-bottom:120px}
.testimonial-viewport{position:relative;overflow:hidden;touch-action:pan-y;outline-offset:6px;padding-top:32px;margin-top:-32px}
.testimonial-track{display:flex;align-items:stretch;gap:20px;text-align:left;will-change:transform}
.testimonial-track.is-sliding .review-card{pointer-events:none}
.review-measurement{position:absolute;top:0;left:0;display:block;visibility:hidden;pointer-events:none}
.review-measurement .review-card{transition:none !important;transform:none !important}
.review-card{position:relative;isolation:isolate;flex:0 0 var(--side-width);min-width:0;margin-block:20px;display:flex;flex-direction:column;border-radius:30px;background:#f4f5f9;padding:0 18px 18px;opacity:.72;transform:translateZ(0) scale(.985);backface-visibility:hidden;transition-property:flex-basis,margin-top,margin-bottom,opacity,box-shadow,transform;transition-duration:var(--testimonial-duration);transition-timing-function:var(--testimonial-ease)}
.review-card::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(140deg,#f0f3ff,#d2daff 44%,#e1c2ee 81%,#eceaff);opacity:0;transition:opacity var(--testimonial-duration) var(--testimonial-ease);pointer-events:none}
.review-card.is-current{flex-basis:var(--review-width);margin-block:0;opacity:1;transform:translateZ(0) scale(1);box-shadow:0 18px 46px #6373b21f}
.review-card.is-current::before{opacity:1}
.review-card header{min-height:150px;display:flex;position:relative;align-items:center;padding:20px;gap:15px}
.review-card header>div{position:relative;z-index:1;width:62%}
.review-card h3{font-size:22px;font-weight:400;line-height:1.5}
.review-card header p{font-size:14px;line-height:1.65;margin-top:6px;white-space:pre-line;color:#666}
.review-card .review-label--long{display:none}
.review-card.is-current .review-label--short{display:none}
.review-card.is-current .review-label--long{display:block}
.review-card.is-current header>div{width:54%}
.review-card.is-current .review-portrait{top:-28px;bottom:auto;height:calc(100% + 28px);width:44%;object-fit:cover;object-position:top center}
.review-portrait{position:absolute;right:14px;bottom:0;height:142px;width:40%;object-fit:contain;object-position:bottom}
.review-initial{margin-left:auto;display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:#e5e9f8;color:#5c70af;font:26px Arial,sans-serif}
.review-body{background:#fff;border-radius:16px;padding:28px 24px;flex:1;min-height:230px}
.review-studio{display:grid;grid-template-columns:minmax(0,1fr) 64px;column-gap:16px;align-items:center}
.review-studio.review-studio--without-logo{grid-template-columns:minmax(0,1fr)}
.review-studio img{grid-column:2;grid-row:1/span 2;width:64px;height:64px;object-fit:contain;border-radius:10px}
.review-studio span{font-size:13px;color:#777}
.review-studio h4{font-size:20px;font-weight:400;line-height:1.5;overflow-wrap:anywhere}
.review-card blockquote{font-size:15px;line-height:1.8;color:#666;margin-top:24px}
.testimonial-arrow{transition:background .22s,box-shadow .22s,transform .22s}
.testimonial-arrow:not(:disabled):hover{background:#f0f3ff;box-shadow:0 10px 24px #5568b51c;transform:translateY(-1px)}
.testimonial-arrow:not(:disabled):active{transform:translateY(0) scale(.96)}
.testimonial-arrow:disabled{cursor:default;opacity:.25}
.review-placeholder{visibility:hidden;pointer-events:none}
html[lang=en] body{font-family:Arial,"Source Han Sans",sans-serif}
html[lang=en] .site-header nav{gap:clamp(18px,2.4vw,50px);margin-left:0}
html[lang=en] .hero h1{font-size:54px;line-height:1.3;margin:12px auto 0;max-width:1160px;text-wrap:balance}
html[lang=en] .hero h1 span{display:block}
html[lang=en] .hero-copy{height:auto;min-height:520px;padding-bottom:44px}
html[lang=en] .hero-copy .button{margin-top:30px}
html[lang=en] .section h2{font-size:44px;line-height:1.3;text-wrap:balance}
html[lang=en] .section-description{line-height:1.8;max-width:940px}
html[lang=en] .section{height:auto}
html[lang=en] .overview,html[lang=en] .simple,html[lang=en] .industries,html[lang=en] .solutions,html[lang=en] .pricing,html[lang=en] .questions{padding-bottom:100px}
html[lang=en] .features{padding-bottom:110px}
html[lang=en] .feature-board{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;height:auto;margin-top:70px}
html[lang=en] .feature-card{position:static;grid-column:span 2;width:auto;height:auto;border-radius:32px;padding-bottom:28px}
html[lang=en] .feature-card:nth-child(-n+2),html[lang=en] .feature-card:nth-last-child(-n+2){grid-column:span 3}
html[lang=en] .feature-art{height:205px;object-fit:contain}
html[lang=en] .feature-copy{padding:20px 26px 0}
html[lang=en] .feature-card h3,html[lang=en] .feature-card p{position:static;line-height:1.65;letter-spacing:0}
html[lang=en] .feature-card p{margin-top:10px}
html[lang=en] .feature-card-feature-01{background:#fff}
html[lang=en] .feature-card-feature-01 .feature-art{background:#fff url("assets/booking-background.webp") center top/100% auto no-repeat}
html[lang=en] .management-name{font-size:19px}
html[lang=en] .industry-grid li{font-size:18px;gap:16px}
html[lang=en] .solution-copy{height:auto;min-height:684px;padding-top:64px;padding-bottom:54px;display:flex;flex-direction:column}
html[lang=en] .solution-copy h3{font-size:42px;line-height:1.25;letter-spacing:0}
html[lang=en] .solution-copy h4{white-space:normal;margin-top:58px;line-height:1.5}
html[lang=en] .solution-description{line-height:1.85}
html[lang=en] .app-downloads{position:static;margin-top:32px}
html[lang=en] .price-card{height:auto;min-height:612px;padding-bottom:36px}
html[lang=en] .plan-heading{height:auto;min-height:100px;align-items:flex-start}
html[lang=en] .plan-heading h3{font-size:27px;line-height:1.4}
html[lang=en] .plan-heading p,html[lang=en] .price-card h4{white-space:normal;line-height:1.6}
html[lang=en] .price-card li{line-height:1.7;margin-top:10px}
html[lang=en] .question-panel{height:auto}
html[lang=en] .support{padding-bottom:64px}
html[lang=en] .support-grid article{height:auto;min-height:230px;padding-top:72px}
html[lang=en] .support-grid h3{font-size:21px;line-height:1.5}
html[lang=en] .support-icon{top:24px;left:28px;right:auto}
html[lang=en] .weekend{position:static;display:block;width:fit-content;margin-top:8px}
html[lang=en] .support-grid p{margin-top:18px;line-height:1.7}
html[lang=en] .contact{padding-bottom:60px}
html[lang=en] .site-footer{height:auto}

@media(max-width:1199px){
 .management-list{padding-top:0;gap:22px}
 .management-item,.management-item:first-child{grid-template-columns:44px minmax(0,1fr);min-height:44px;padding:0;gap:0 14px}
 .management-name{font-size:18px;min-height:44px}
 .management-item img{width:44px;height:44px}
 .product{min-height:0;padding-bottom:80px}
 .product-artwork{border-radius:36px}
 .management-description{font-size:15px}
 .testimonials{min-height:0;padding-bottom:80px}
 html[lang=en] .hero h1{font-size:42px}
 html[lang=en] .section h2{font-size:36px}
 html[lang=en] .overview,html[lang=en] .simple,html[lang=en] .industries,html[lang=en] .solutions,html[lang=en] .pricing,html[lang=en] .questions{padding-bottom:80px}
 html[lang=en] .features{padding-bottom:80px}
 html[lang=en] .feature-board{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:40px}
 html[lang=en] .feature-card,html[lang=en] .feature-card:nth-child(-n+2),html[lang=en] .feature-card:nth-last-child(-n+2){grid-column:auto}
 html[lang=en] .solution-copy{min-height:0;padding:36px 30px}
 html[lang=en] .solution-copy h3{font-size:32px}
 html[lang=en] .solution-copy h4{margin-top:30px}
 html[lang=en] .price-card{min-height:0}
 html[lang=en] .plan-heading{flex-wrap:wrap;min-height:0}
 html[lang=en] .support-grid article{min-height:0;padding-top:72px}
 html[lang=en] .contact-benefits{gap:20px}
}
@media(max-width:900px){
 .testimonial-stage{max-width:560px}
 .review-card{border-radius:28px}
 .review-body{min-height:250px}
}
@media(max-width:760px){
 .hero{background:linear-gradient(150deg,#4b74f2 7%,#7d7be7 53%,#df9dde 100%)}
 .hero-composition{--hero-card-radius:4.666667cqw;--hero-card-stroke:1.333333cqw;width:min(100%,480px);aspect-ratio:750/810}
 .hero-phone{left:24.5333%;top:8.642%;width:50.6667%}
 .hero-members{left:auto;right:6.9333%;top:0;width:34.1333%}
 .hero-classes{left:4.2667%;top:49.8765%;width:31.2%}
 .hero-revenue{display:none}
 .hero-teacher{left:auto;right:6.8%;top:76.1728%;width:39.2%}
 .hero-composition img{filter:drop-shadow(0 10px 12px #49459026)}
 .language{padding:0 4px;gap:6px}
 .language .language-label{font-size:14px}
 .product{padding-bottom:64px}
 .product-layout{flex-direction:column;gap:20px}
 .management-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
 .management-item,.management-item:first-child{grid-column:auto;grid-template-columns:32px minmax(0,1fr);margin:0;padding:0;gap:0 9px;min-height:44px;border-radius:8px}
 .management-item img{width:32px;height:32px;align-self:center}
 .management-name,html[lang=en] .management-name{font-size:14px;line-height:1.5;min-height:44px}
 .management-description-wrap{grid-column:1/-1}
 .management-description{font-size:14px;line-height:1.75}
 .management-description-text{padding-top:6px}
 .product-artwork{border-radius:28px}
 .product-preview{max-width:520px;align-self:center}
 .review-card{padding:0 12px 12px;border-radius:24px}
 .review-card header{padding:20px 12px;min-height:160px}
 .review-card header p{font-size:13px}
 .review-portrait{right:0;height:135px}
 .review-body{padding:24px 18px;min-height:258px}
 .review-studio{grid-template-columns:minmax(0,1fr) 52px;gap:0 12px}
 .review-studio img{width:52px;height:52px}
 .review-studio h4{font-size:18px}
 .review-card blockquote{font-size:15px;line-height:1.85;margin-top:20px}
 .testimonials{padding-bottom:64px}
 html[lang=en] .hero-copy{min-height:0;padding-bottom:28px}
 html[lang=en] .hero h1{font-size:clamp(28px,7.4vw,36px);line-height:1.3;margin-top:18px}
 html[lang=en] .hero-description{font-size:15px}
 html[lang=en] .section h2{font-size:28px}
 html[lang=en] .overview,html[lang=en] .simple,html[lang=en] .industries,html[lang=en] .solutions,html[lang=en] .pricing,html[lang=en] .questions,html[lang=en] .features{padding-bottom:64px}
 html[lang=en] .feature-board{grid-template-columns:1fr;gap:14px;margin-top:30px}
 html[lang=en] .feature-card{padding:0 0 24px;border-radius:22px}
 html[lang=en] .feature-copy{padding:18px 22px 0}
 html[lang=en] .feature-art{height:190px}
 html[lang=en] .industry-grid li{font-size:14px;gap:10px}
 html[lang=en] .solution-copy{padding:28px 24px}
 html[lang=en] .solution-copy h3{font-size:29px}
 html[lang=en] .support-grid article{padding:22px;grid-template-columns:32px minmax(0,1fr)}
 html[lang=en] .support-grid h3{padding-right:0;font-size:19px}
 html[lang=en] .support-icon{position:static}
 html[lang=en] .weekend{grid-column:2;grid-row:2;margin:0}
 html[lang=en] .support-grid p{margin:0}
 html[lang=en] .plan-heading{flex-wrap:nowrap}
 html[lang=en] .plan-heading h3{font-size:25px}
 html[lang=en] .contact-benefits{gap:12px}
 html[lang=en] .contact{padding-bottom:48px}
}
@media(prefers-reduced-motion:reduce){
 .product-state,.management-description-wrap,.management-name{transition:none}
 .testimonial-track{will-change:auto}
 /* Keep manual navigation legible, overriding the global transition reset only here. */
 .testimonials{--testimonial-duration:.5s}
 .testimonials .review-card{transform:none;transition:flex-basis var(--testimonial-duration) var(--testimonial-ease),opacity var(--testimonial-duration) var(--testimonial-ease) !important;box-shadow:none}
 .testimonials .review-card::before{transition:opacity var(--testimonial-duration) var(--testimonial-ease) !important}
}
@media(max-width:760px){
 .product>.product-layout{display:none}
 .product-mobile-list{display:grid;gap:48px;text-align:left}
 .product-mobile-card{width:100%;max-width:520px;min-width:0;margin:0 auto}
 .product-mobile-heading{display:flex;align-items:center;gap:12px}
 .product-mobile-heading img{width:40px;height:40px;flex:none}
 .product-mobile-heading h3{font-size:18px;line-height:1.5;font-weight:400}
 .product-mobile-description{font-size:15px;line-height:1.8;color:var(--muted);margin:12px 0 20px}
}

/* Mobile industry tags wrap naturally at their content width; each row is centred. */
@media(max-width:760px){
 .industry-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:7px 6px;max-width:360px;margin:28px auto 0;align-items:stretch}
 .industry-grid li,html[lang=en] .industry-grid li{flex:0 1 auto;width:auto;max-width:100%;min-height:46px;height:auto;padding:9px 8px;gap:7px;font-size:14px;line-height:1.2;white-space:normal;border:1px solid #ececf0;border-radius:13px;background:#fff;box-shadow:0 1px 3px #20204004;text-align:left}
 .industry-grid img{flex:0 0 24px;width:24px;height:24px;max-height:24px}
 .industry-grid li span{min-width:0;overflow-wrap:anywhere}
}
@media(max-width:359px){
 .industry-grid li,html[lang=en] .industry-grid li{font-size:13px;padding:9px 6px;gap:6px}
 .industry-grid img{flex-basis:22px;width:22px;height:22px}
}

@media(max-width:359px){
 html[lang=en] .feature-card{padding:0 0 22px}
 html[lang=en] .feature-art{height:160px}
 html[lang=en] .feature-copy{padding:16px 18px 0}
}

/* Keep icon geometry separate from the rounded background. */
.management-item img,.product-mobile-heading img{box-sizing:border-box;background:#f7f7f7;border-radius:15px;padding:12px}
@media(min-width:761px) and (max-width:1199px){
 .management-item img{padding:6px;border-radius:12px}
}
@media(max-width:760px){
 .product-mobile-heading img{padding:6px;border-radius:11px}
}
/* Mobile customer reviews: proportions from the 750px PSD, at 2x density. */
.review-studio-location{display:none}
.testimonial-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;margin:24px auto 0;max-width:100%}
.testimonial-pagination button{display:grid;place-items:center;width:18px;height:28px;padding:0;border:0;background:transparent;cursor:pointer}
.testimonial-pagination button::before{content:"";width:7px;height:7px;border-radius:50%;background:#e1e4eb}
.testimonial-pagination button[aria-pressed=true]::before{background:#5075f6}
.testimonial-pagination button:focus-visible{outline:2px solid #5075f6;outline-offset:1px;border-radius:3px}
@media(max-width:760px){
 .testimonial-stage{padding-bottom:0}
 .testimonial-viewport{padding-top:20px;margin-top:-20px}
 .testimonial-arrow{display:none}
 .review-card{padding:0 12px 12px;border-radius:16px;margin-block:0;transform:none;opacity:1}
 .review-card.is-current{box-shadow:none}
 .review-card::before{background:linear-gradient(145deg,#f5f6ff 2%,#cfd9ff 48%,#e0c7ee 78%,#eceaff);opacity:1}
 .review-card header{min-height:95px;padding:22px 12px 16px;align-items:flex-start;gap:0}
 .review-card header>div,.review-card.is-current header>div{width:64%}
 .review-card h3{font-size:16px;line-height:22px;font-weight:500}
 .review-card header p{font-size:12px;line-height:16px;margin-top:3px}
 .review-card .review-label--short,.review-card header .review-location{display:none}
 .review-card .review-label--long{display:block}
 .review-card .review-portrait,.review-card.is-current .review-portrait{right:0;top:auto;bottom:0;width:43%;height:calc(100% + 15px);object-fit:contain;object-position:bottom right}
 .review-body{position:relative;z-index:1;min-height:154px;padding:15px 12px 16px;border-radius:6px}
 .review-studio{grid-template-columns:minmax(0,1fr) 50px;gap:2px 12px;align-items:center;min-height:50px}
 .review-studio.review-studio--without-logo{grid-template-columns:minmax(0,1fr) 50px}
 .review-studio--without-logo::after{content:"";grid-column:2;grid-row:1/span 2;align-self:center;width:50px;height:50px;border-radius:10px;background:#ddd}
 .review-studio>span{display:none}
 .review-studio h4{grid-column:1;grid-row:1;align-self:end;font-size:16px;line-height:22px}
 .review-studio img{grid-row:1/span 2;width:50px;height:50px;border-radius:10px;align-self:center}
 .review-studio-location{display:flex;align-items:center;gap:3px;grid-column:1;grid-row:2;align-self:start;font-size:12px;line-height:18px;color:#666}
 .review-studio-location::before{content:"";flex:0 0 8px;width:8px;height:10px;background:#666;clip-path:path("M4 0C1.8 0 0 1.8 0 4c0 2.5 4 6 4 6s4-3.5 4-6C8 1.8 6.2 0 4 0ZM4 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z")}
 .review-card blockquote{position:relative;margin-top:16px;padding-left:22px;font-size:12px;line-height:16px;color:#666}
 .review-card blockquote::before{content:"“";position:absolute;top:-5px;left:0;color:#e5e5e5;font:bold 30px/1 Georgia,serif}
 .testimonial-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;margin:10px auto 0;max-width:100%}
 .testimonial-pagination button{display:grid;place-items:center;width:12px;height:24px;padding:0;border:0;background:transparent;cursor:pointer}
 .testimonial-pagination button::before{content:"";width:7px;height:7px;border-radius:50%;background:#f4f5f6}
 .testimonial-pagination button[aria-pressed=true]::before{background:#5075f6}
 .testimonial-pagination button:focus-visible{outline:2px solid #5075f6;outline-offset:1px;border-radius:3px}
}

/* Desktop: 14 reference logos. Mobile: 16 logos in four rows. */
.partner-grid .partner-mobile-only{display:none}
/* Revised PSD reviews: circular side portraits and a raised central portrait. */
@media(min-width:761px){
 .testimonial-track{align-items:center}
 .review-card{min-height:352px;margin-block:0;padding:0 26px 26px;border-radius:30px;background:#f7f7f7;opacity:1;transform:none}
 .review-card.is-current{min-height:397px;padding:0 20px 20px;box-shadow:none}
 .review-card::before{background:linear-gradient(145deg,#f4f6ff 2%,#d1dbff 48%,#dfc7ef 80%,#edeaff)}
 .review-card header{min-height:123px;padding:32px 0 24px;border-bottom:1px solid #e3e3e3;gap:0}
 .review-card header>div{width:calc(100% - 74px);margin-left:74px}
 .review-card h3{font-size:22px;line-height:30px}
 .review-card header p{font-size:14px;line-height:21px;margin-top:3px}
 .review-card header .review-location{display:none}
 .review-card .review-portrait{left:0;right:auto;top:34px;bottom:auto;width:60px;height:60px;border-radius:50%;background:#edf1fc;object-fit:cover;object-position:top center}
 .review-card .review-initial{position:absolute;left:0;top:34px;width:60px;height:60px;margin:0}
 .review-card.is-current header{min-height:153px;padding:38px 20px 28px;border:0;align-items:flex-start}
 .review-card.is-current header>div{width:60%;margin-left:0}
 .review-card.is-current header p{margin-top:10px}
 .review-card.is-current .review-portrait{left:auto;right:18px;top:-16px;bottom:auto;width:38%;height:169px;border-radius:0;background:transparent;object-fit:cover;object-position:top center}
 .review-card.is-current .review-initial{left:auto;right:20px;top:38px}
 .review-body{min-height:0;padding:24px 4px 0;background:transparent;border-radius:0}
 .review-card.is-current .review-body{position:relative;z-index:1;min-height:224px;padding:28px 20px 26px;background:#fff;border-radius:10px}
 .review-studio{grid-template-columns:minmax(0,1fr) 72px;gap:7px 14px;align-items:start}
 .review-studio span{font-size:14px;line-height:21px}
 .review-studio h4{font-size:20px;line-height:27px}
 .review-studio img{grid-row:1/span 3;width:72px;height:72px;border-radius:10px;align-self:start;margin-top:6px}
 .review-studio-location{display:flex;align-items:center;gap:5px;grid-column:1;font-size:14px;line-height:21px;color:#666}
 .review-studio-location::before{content:"";flex:0 0 10px;width:10px;height:14px;background:#666;clip-path:path("M5 0C2.24 0 0 2.24 0 5c0 3.2 5 9 5 9s5-5.8 5-9c0-2.76-2.24-5-5-5ZM5 2.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5Z")}
 .review-card blockquote{position:relative;margin-top:22px;padding-left:38px;font-size:14px;line-height:22px;color:#666}
 .review-card blockquote::before{content:"“";position:absolute;top:-5px;left:0;color:#e5e5e5;font:bold 38px/1 Georgia,serif}
}
@media(min-width:901px){
 .testimonial-arrow{top:50%;translate:0 -50%}
}
@media(min-width:761px){
 .partner-grid{grid-template-columns:repeat(7,minmax(0,132px));column-gap:24px}
 .partner-grid img{width:100%;height:auto;aspect-ratio:1}
}
@media(max-width:760px){
 .partner-grid .partner-mobile-only{display:block}
 .partner-grid .partner-xinyi{grid-row:4;grid-column:4}
 .partner-grid .partner-yunqi{grid-row:2;grid-column:4}
}

/* Revised desktop PSD: equal 502px cards, 28px gaps, edge-to-edge scrolling. */
@media(min-width:901px){
 .testimonials{min-height:0;padding-bottom:150px}
 .testimonials>.container{width:100%;max-width:none}
 .testimonials h2{padding-inline:24px}
 .testimonial-stage{margin-top:90px;max-width:none;padding-bottom:0}
 .testimonial-viewport{padding-top:20px;margin-top:-20px}
 .testimonial-track{align-items:stretch;gap:28px}
 .testimonial-arrow{display:none}
 .review-card,.review-card.is-current{flex:0 0 502px;min-height:397px;margin:0;padding:0 20px 20px;border-radius:30px;opacity:1;transform:none;box-shadow:none;transition:none}
 .review-card::before{opacity:1;background:linear-gradient(145deg,#f4f6ff 0%,#d1dbff 43%,#d5d7fb 70%,#e0c7ef 88%,#eceaff 100%);transition:none}
 .review-card header,.review-card.is-current header{min-height:var(--review-header-height,152px);flex-shrink:0;padding:40px 20px 28px;border:0;align-items:flex-start;gap:0}
 .review-card header>div,.review-card.is-current header>div{width:60%;margin:0}
 .review-card h3{font-size:20px;line-height:30px;font-weight:500}
 .review-card header p,.review-card.is-current header p{margin-top:10px;font-size:14px;line-height:20px}
 .review-card .review-label--short,.review-card.is-current .review-label--short{display:none}
 .review-card .review-label--long{display:block}
 .review-card .review-portrait,.review-card.is-current .review-portrait{left:auto;right:6px;top:auto;bottom:0;width:44%;height:166px;border-radius:0;background:transparent;object-fit:cover;object-position:top center}
 .review-card .review-body,.review-card.is-current .review-body{position:relative;z-index:1;min-height:224px;padding:34px 20px 26px;background:#fff;border-radius:10px}
 .review-studio{grid-template-columns:minmax(0,1fr) 72px;gap:6px 14px;align-items:center;min-height:72px}
 .review-studio>span{display:none}
 .review-studio h4{grid-column:1;grid-row:1;align-self:end;font-size:20px;line-height:27px;font-weight:500}
 .review-studio-location{grid-row:2;align-self:start}
 .review-studio img{grid-row:1/span 2;margin:0;align-self:center}
 .review-card blockquote{margin-top:30px;padding-left:38px;font-size:14px;line-height:22px}
}
@media(min-width:901px) and (prefers-reduced-motion:reduce){
 .testimonial-viewport{overflow-x:auto;touch-action:pan-x pan-y}
}
