/* One type system for visitor pages; retain the colours of each existing section. */
body.acy-visitor-page{--acy-visitor-font:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC","Source Han Sans SC",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-family:var(--acy-visitor-font);font-weight:400;line-height:1.75}
body.acy-visitor-page :is(h1,h2,h3,h4,p,a,button,input,select,textarea,label,summary,figcaption,small,blockquote,strong,b,em,span,li,td,th){font-family:var(--acy-visitor-font)!important}
body.acy-visitor-page :is(h1,h2,h3){font-weight:700!important;letter-spacing:-.02em}
body.acy-visitor-page :is(button,input,select,textarea){box-sizing:border-box;max-width:100%}
body.acy-visitor-page :is(.cg-card-content strong,.cg-site-mini b,.cg-task-mini b,.cg-knowledge-mini b){font-weight:600}
body.acy-visitor-page :is(.acy-case-section__head p,.acy-case-card p,.acy-case-frontier__card p,.sv-use>p,.sv-heading>p,.sv-flow p,.sv-next__copy>p:not(.sv-kicker),.cg-section-head p,.cg-lab__copy p){font-size:15px;line-height:1.85}
body.acy-visitor-page :is(.acy-case-stage__note,.acy-case-eyebrow,.sv-film figcaption,.sv-process__note,.sv-reference__body p,.sv-task-guide li,.sv-use>small,.sv-questions summary,.acy-application-note p){font-size:13px;line-height:1.8}
body.acy-visitor-page :is(.acy-gallery-switch a,.sv-section-nav a){font-size:14px;line-height:1.6;font-weight:600}
body.acy-visitor-page :is(.acy-case-stage__controls button,.acy-case-stage__controls a,.sv-button,.cg-button){font-family:var(--acy-visitor-font)!important;font-weight:600}
body.acy-visitor-page .acy-case-card__meta{flex-wrap:wrap;align-items:flex-start}
body.acy-visitor-page :is(.acy-case-card__meta i,.acy-case-card__meta small){font-size:12px;line-height:1.6;white-space:normal}
body.acy-visitor-page :is(.acy-case-card__summary,.acy-case-card__link){font-size:14px;line-height:1.85}
body.acy-visitor-page .acy-case-card__body>strong{font-size:18px;font-weight:700;line-height:1.55}
body.acy-visitor-page #acy-main.acy-case-experience .acy-case-card__open{display:flex;flex-direction:column;align-items:stretch;min-width:0}
body.acy-visitor-page #acy-main.acy-case-experience .acy-case-card__body{flex:1;width:100%;min-width:0}
body.acy-visitor-page .cg-app-card{height:auto;min-height:350px}
body.acy-visitor-page :is(.cg-app-card:nth-child(4),.cg-app-card:nth-child(5)){min-height:250px}
body.acy-visitor-page .cg-app-card .cg-card-content{height:auto;flex:0 0 auto;min-width:0}
body.acy-visitor-page .cg-edit-mini{min-height:210px}
body.acy-visitor-page .acy-site-footer__legal{gap:12px 22px}
/* Native dialog keeps keyboard focus inside the contact panel; plain links remain usable without JS. */
.acy-quick-contact{position:fixed;right:24px;bottom:24px;z-index:45}
.acy-contact-launch{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:11px 19px;border:1px solid #7fc8c4;border-radius:28px;background:#164a49;color:#fff!important;box-shadow:0 5px 22px #001b2633;text-decoration:none!important;font-size:15px!important;font-weight:600;line-height:1.5}
.acy-contact-launch:hover{background:#1d615e}.acy-contact-launch:focus-visible,.acy-contact-dialog :is(a,button):focus-visible{outline:3px solid #47c2b2;outline-offset:4px}
.acy-contact-dialog{box-sizing:border-box;width:min(650px,calc(100% - 32px));max-width:650px;max-height:calc(100svh - 40px);padding:0;border:1px solid #cfded8;border-radius:20px;background:#fcfdfb;color:#203d36;box-shadow:0 24px 100px #001c3d55;overflow:auto;overscroll-behavior:contain}
.acy-contact-dialog:not([open]){display:none!important}.acy-contact-dialog::backdrop{background:#071321b8;backdrop-filter:blur(3px)}
.acy-contact-panel{position:relative;box-sizing:border-box;padding:32px}
.acy-contact-close{position:absolute;right:20px;top:18px;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:5px 9px;background:transparent;border:1px solid #d3dfd9;border-radius:8px;color:#35564b;font-size:13px;cursor:pointer}
.acy-contact-close span{font-size:22px;line-height:1}
.acy-contact-dialog .acy-contact-kicker{margin:0 84px 10px 0;color:#417e70;font-size:13px;line-height:1.7;font-weight:600;letter-spacing:.03em}
.acy-contact-dialog h2{margin:0 0 10px;color:#203d36!important;font-size:28px!important;line-height:1.4}
.acy-contact-dialog #acy-contact-description{margin:0 0 24px;color:#52695f;font-size:15px;line-height:1.8}
.acy-contact-options{display:grid;grid-template-columns:210px minmax(0,1fr);gap:25px;align-items:center}
.acy-contact-options figure{margin:0;padding:9px;border:1px solid #e0e8e1;border-radius:12px;background:#fff;text-align:center}
.acy-contact-options figure a{display:block}.acy-contact-options img{display:block;width:100%;max-width:200px;height:auto;margin:auto;border-radius:6px}
.acy-contact-options figcaption{font-size:13px;line-height:1.6;color:#476054;margin:8px 0 2px}
.acy-contact-details h3{font-size:17px!important;line-height:1.5;margin:0 0 7px;color:#203d36!important}
.acy-contact-details p{font-size:14px!important;line-height:1.8;margin:0 0 11px;color:#52695f}
.acy-contact-details hr{border:0;border-top:1px solid #dce5df;margin:21px 0}
.acy-contact-dialog .acy-contact-secondary,.acy-contact-dialog .acy-contact-primary{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:9px 12px;border:1px solid #bad1c7;border-radius:8px;font-size:14px;font-weight:600;line-height:1.5;text-decoration:none}
.acy-contact-dialog .acy-contact-secondary{color:#215e4d;background:#f3f7f2}.acy-contact-dialog .acy-contact-primary{color:#fff;background:#235e50;border-color:#235e50}
.acy-contact-dialog .acy-contact-footnote{margin:21px 0 0;padding-top:15px;border-top:1px solid #e1e8e2;font-size:12px;line-height:1.8;color:#607367}
@media(max-width:760px){
 body.acy-visitor-page :is(.sv-use>p,.sv-heading>p,.sv-flow p,.sv-next__copy>p:not(.sv-kicker),.acy-case-frontier__card p){font-size:14px;line-height:1.85}
 body.acy-visitor-page :is(.sv-task-input pre,.sv-reference summary,.sv-reference__body p,.sv-task-guide li,.sv-questions summary){font-size:14px;line-height:1.85}
 body.acy-visitor-page .acy-gallery-switch__inner{gap:4px 16px}body.acy-visitor-page .acy-gallery-switch a{font-size:13px}
 body.acy-visitor-page :is(.cg-app-card,.cg-app-card:nth-child(4),.cg-app-card:nth-child(5)){min-height:350px}
 body.acy-visitor-page .acy-inquiry-form :is(input:not([type="checkbox"]),select,textarea){font-size:16px}
 .acy-quick-contact{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.acy-contact-launch{min-height:46px;padding:10px 16px;font-size:14px!important}
 .acy-video-topic-page .acy-quick-contact{display:none}
 body.acy-visitor-page .sv-mobile-actions a{font-size:14px;line-height:1.6}
 .acy-contact-panel{padding:26px 22px}.acy-contact-dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px);border-radius:16px}
 .acy-contact-close{top:17px;right:16px}.acy-contact-dialog h2{font-size:25px!important}
 .acy-contact-options{grid-template-columns:1fr;gap:20px}.acy-contact-options figure{width:172px;max-width:100%;box-sizing:border-box;justify-self:center}
 .acy-contact-details{text-align:left}.acy-contact-details hr{margin:17px 0}.acy-contact-dialog .acy-contact-footnote{margin-top:18px}
 .acy-site-footer{padding-bottom:85px}
}
@media(prefers-reduced-motion:reduce){.acy-contact-dialog,.acy-contact-launch{scroll-behavior:auto;transition:none}}

/* case-button-tone-visitor-20261024: clearer action on the public case page. */
body.acy-visitor-page #acy-main.acy-case-experience .acy-case-team__panel button {
    background-color: #17685f;
    color: #fff;
}
body.acy-visitor-page #acy-main.acy-case-experience .acy-case-team__panel button:hover {
    background-color: #12554d;
}
body.acy-visitor-page #acy-main.acy-case-experience .acy-case-team__panel button:active {
    background-color: #0f4942;
}
body.acy-visitor-page #acy-main.acy-case-experience .acy-case-team__panel button:focus-visible {
    outline: 3px solid #17685f;
    outline-offset: 3px;
}

/* case-text-contrast-20261024: darken legacy dark-theme text on the light visitor cards. */
body.acy-visitor-page #acy-main.acy-case-experience .acy-case-starter__steps > div > span { color: #087879; }
body.acy-visitor-page #acy-main.acy-case-experience .acy-case-starter__steps strong { color: #183431; }
body.acy-visitor-page #acy-main.acy-case-experience .acy-case-starter__steps small { color: #52665f; }
body.acy-visitor-page #acy-main.acy-case-experience .acy-case-starter__value { color: #52665f; }
body.acy-visitor-page #acy-main.acy-case-experience .acy-case-team__tags span { color: #355b54; border-color: rgba(23,104,95,.22); background-color: rgba(23,104,95,.10); }
body.acy-visitor-page #acy-main.acy-case-experience .acy-case-team__panel-head > span { color: #183431; }
body.acy-visitor-page #acy-main.acy-case-experience .acy-case-team__panel-head > small { color: #5c6e67; }
body.acy-visitor-page #acy-main.acy-case-experience .acy-case-team__panel > p,
body.acy-visitor-page #acy-main.acy-case-experience .acy-case-team__panel label,
body.acy-visitor-page #acy-main.acy-case-experience .acy-case-team__panel output { color: #52665f; }
body.acy-visitor-page #acy-main.acy-case-experience .acy-case-team__panel > small { color: #5c6e67; }

/* public-essential-review-20261024: readable labels on confirmed light visitor surfaces. */
body.acy-visitor-page #acy-main.acy-case-experience .acy-case-card__meta i { color:#17685f; }
body.acy-visitor-page #acy-main.acy-case-experience :is(.acy-case-card__meta small,.sv-direction__number,.sv-direction__status) { color:#52665f; }
body.acy-visitor-page #acy-main.acy-case-experience :is(.sv-direction__number,.sv-direction__status) { font-size:12px; }
body.acy-visitor-page #acy-main.acy-case-experience .acy-case-filters button span { color:#17685f; }
body.acy-visitor-page #acy-main.acy-case-experience .acy-case-library__footer a { color:#17685f!important; text-decoration:underline; text-underline-offset:3px; }
body.acy-visitor-page #acy-main.acy-case-experience .acy-case-library__footer a:hover { color:#12554d!important; }
body.acy-visitor-page #acy-main .cg-app-card .cg-card-content>small { color:#52614b; }
body.acy-visitor-page #acy-main .cg-chapters a :is(.cg-chapter-number,small) { color:#52614b; }
body.acy-visitor-page .ld-content :is(.ld-group-head>span,.ld-pills a>span,.ld-course-top>span,.ld-course-foot>small,.ld-entry>small,.ld-direction .ld-kicker,.ld-section-head>p,.ld-direction>p,.ld-next>div>p) { color:#52665f; }
body.acy-visitor-page.ld-shell:not(.acy-login-page) :is(.v06-identity,.v06-brand small) { color:#52665f; }
body.acy-visitor-page .acy-purchase-flow :is(.purchase-course-support,.purchase-section-heading p,.purchase-qr-caption) { color:#52665f; }
body.acy-visitor-page .v07-course-chapter-lessons .v06-badge { color:#52665f; }
@media(max-width:760px){
 body.acy-visitor-form-page .acy-quick-contact { position:static;display:flex;justify-content:center;margin:16px 18px 24px; }
}

/* Preserve readable light text on the selected dark course filter. */
body.acy-visitor-page .ld-content .ld-pills>a[aria-current]>span { color:#fff; }
