/* System-font fallbacks keep the site readable without overseas font requests. */

:root { --navy:#082d52; --ink:#122b45; --muted:#5f7185; --line:#d9e5ee; --paper:#f3f8fb; --white:#fff; --cyan:#0aa6b8; --cyan-light:#dff5f7; --gold:#ff684f; --purple:#7e3aa8; --shadow:0 18px 55px rgba(6,50,91,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:'Noto Sans SC','Microsoft YaHei',Arial,sans-serif; line-height:1.75; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.sv-shell { width:min(1200px,calc(100% - 48px)); margin:0 auto; }
.sv-topline { background:#062340; color:#b9d6e5; font-size:12px; }
.sv-topline .sv-shell { min-height:38px; display:flex; justify-content:space-between; align-items:center; gap:18px; }
.sv-toplinks { display:flex; align-items:center; gap:19px; }
.sv-toplinks a { color:#fff; font-weight:600; }
.sv-toplinks a:hover { color:var(--gold); }
.sv-header { position:relative; z-index:5; background:rgba(255,255,255,.98); border-bottom:2px solid #d7eef0; }
.sv-header .sv-shell { min-height:82px; display:flex; align-items:center; gap:40px; }
.sv-logo { width:205px; flex:0 0 auto; }
.sv-logo img { width:205px; height:auto; }
.sv-nav { display:flex; align-items:center; gap:23px; margin-left:auto; font-size:14px; font-weight:600; color:#34455a; }
.sv-nav a { position:relative; padding:29px 0; white-space:nowrap; }
.sv-nav a::after { content:''; position:absolute; bottom:19px; left:0; width:0; height:3px; border-radius:4px; background:var(--cyan); transition:width .25s ease; }
.sv-nav a:hover, .sv-nav a.is-active { color:var(--cyan); }
.sv-nav a:hover::after, .sv-nav a.is-active::after { width:100%; }
.sv-head-cta { padding:11px 16px !important; border-radius:5px; background:var(--gold); color:#fff !important; box-shadow:0 7px 18px rgba(255,104,79,.25); }
.sv-head-cta::after { display:none; }
.sv-head-cta:hover { background:#e84c35; }
.sv-hero { position:relative; overflow:hidden; color:var(--ink); background:#fff; }
.sv-hero::before { content:''; position:absolute; top:0; bottom:0; left:50%; width:50vw; background:#edf8fa; }
.sv-hero .sv-shell { position:relative; z-index:1; min-height:0; display:grid; grid-template-columns:.88fr 1.12fr; align-items:start; }
.sv-hero-copy { width:auto; display:flex; flex-direction:column; justify-content:center; padding:clamp(58px,7vw,98px) clamp(20px,3vw,48px) clamp(76px,7vw,98px) 0; }
.sv-eyebrow { display:inline-flex; align-items:center; gap:10px; color:var(--cyan); font-size:12px; letter-spacing:.18em; text-transform:uppercase; font-weight:700; }
.sv-eyebrow::before { content:''; width:30px; height:3px; border-radius:3px; background:var(--gold); }
.sv-hero h1 { margin:22px 0 19px; max-width:610px; color:var(--navy); font-size:clamp(38px,5vw,66px); line-height:1.18; letter-spacing:-.035em; font-weight:800; }
.sv-hero h1 em { color:#087f91; font-style:normal; }
.sv-hero-lead { max-width:560px; margin:0; color:var(--muted); font-size:17px; line-height:1.9; }
.sv-actions { display:flex; align-items:center; gap:13px; margin-top:31px; flex-wrap:wrap; }
.sv-btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 22px; border-radius:4px; font-size:14px; font-weight:700; transition:all .2s ease; }
.sv-btn-primary { background:var(--gold); color:#fff; box-shadow:0 10px 22px rgba(240,90,79,.34); }
.sv-btn-primary:hover { background:#ff776b; transform:translateY(-2px); }
.sv-btn-ghost { border:1px solid var(--navy); color:var(--navy); }
.sv-btn-ghost:hover { border-color:var(--cyan); color:var(--cyan); background:var(--cyan-light); }
.sv-hero-note { margin:25px 0 0; color:#718394; font-size:12px; }
.sv-hero-note strong { color:var(--navy); font-size:16px; margin-right:5px; }
.sv-hero-media { position:relative; align-self:start; width:100%; height:auto; overflow:hidden; background:#edf8fa; }
.sv-hero-media::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,42,78,.40),transparent 34%),linear-gradient(0deg,rgba(2,28,54,.18),transparent 45%); pointer-events:none; }
.sv-hero-media img { width:100%; height:auto; object-fit:contain; object-position:center; }
.sv-hero-dots { position:absolute; z-index:1; left:28px; bottom:28px; display:flex; gap:8px; }
.sv-hero-dots i { display:block; width:25px; height:3px; border-radius:2px; background:rgba(255,255,255,.55); }
.sv-hero-dots i.is-active { background:var(--gold); }
.sv-stats { position:absolute; right:0; bottom:26px; z-index:2; display:grid; grid-template-columns:repeat(3,auto); gap:28px; padding:21px 27px; background:linear-gradient(135deg,rgba(4,42,82,.93),rgba(0,128,145,.86)); border:1px solid rgba(132,247,240,.42); box-shadow:0 12px 28px rgba(0,25,52,.22); }
.sv-stat { min-width:86px; }
.sv-stat strong { display:block; font-family:'DM Sans',sans-serif; color:#fff; font-size:31px; line-height:1.1; }
.sv-stat span { color:#bdd0dd; font-size:11px; }
.sv-trust { background:linear-gradient(90deg,#ffffff 0%,#e9fbfb 65%,#f5ecfb 100%); border-bottom:1px solid #cceceb; }
.sv-trust .sv-shell { min-height:88px; display:grid; grid-template-columns:1.15fr repeat(4,1fr); align-items:center; gap:20px; }
.sv-trust-intro { color:var(--muted); font-size:12px; }
.sv-trust-intro strong { display:block; color:var(--ink); font-size:14px; }
.sv-trust-item { padding-left:22px; border-left:1px solid var(--line); color:#4a5c70; font-size:12px; }
.sv-trust-item b { display:block; margin-bottom:2px; color:var(--navy); font-size:15px; }
.sv-capabilities { padding:82px 0 78px; background:#f3f8fb; }
.sv-capability-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.sv-capability { position:relative; min-height:250px; overflow:hidden; padding:27px 28px; color:#fff; background:#092b50; box-shadow:0 12px 30px rgba(9,55,84,.13); }
.sv-capability::before { content:''; position:absolute; inset:0; background:linear-gradient(145deg,rgba(4,36,72,.95),rgba(0,114,134,.60)),var(--cap-image) center/cover; transition:transform .4s ease,filter .4s ease; }
.sv-capability::after { content:''; position:absolute; inset:auto 0 0; height:62%; background:linear-gradient(transparent,rgba(4,26,48,.9)); }
.sv-capability:hover::before { transform:scale(1.05); filter:saturate(1.12); }
.sv-capability > * { position:relative; z-index:1; }
.sv-capability > div { position:absolute; z-index:1; left:28px; right:28px; bottom:25px; }
.sv-capability-index { display:inline-flex; align-items:center; justify-content:center; width:35px; height:35px; border:1px solid rgba(255,255,255,.7); border-radius:50%; color:#fff; font:700 12px 'DM Sans',sans-serif; }
.sv-capability h3 { margin:0 0 7px; font-size:20px; }
.sv-capability p { margin:0 0 12px; color:#d4e2ea; font-size:12px; line-height:1.7; }
.sv-capability .sv-text-link { color:#0a7f9e; font-size:12px; }
.sv-section { padding:96px 0; }
.sv-section-white { background:#fff; }
.sv-section-head { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:38px; }
.sv-kicker { display:block; margin-bottom:11px; color:var(--cyan); font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.sv-section h2 { margin:0; color:var(--navy); font-size:clamp(28px,3.5vw,42px); line-height:1.25; letter-spacing:-.025em; }
.sv-section-intro { max-width:475px; margin:0; color:var(--muted); font-size:14px; }
.sv-text-link { display:inline-flex; align-items:center; gap:8px; color:var(--cyan); font-size:13px; font-weight:700; white-space:nowrap; }
.sv-text-link::after { content:'→'; font-family:Arial; font-size:18px; transition:transform .2s; }
.sv-text-link:hover::after { transform:translateX(4px); }
.sv-about-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:72px; align-items:center; }
.sv-about-visual { position:relative; min-height:365px; overflow:hidden; border-radius:4px; background:var(--navy) url('../images/optimized/about-history-realistic.webp') center/cover; box-shadow:var(--shadow); }
.sv-about-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(145deg,rgba(10,38,65,.86),rgba(10,38,65,.10)); }
.sv-visual-card { position:absolute; z-index:1; right:24px; bottom:24px; width:190px; padding:20px; color:#fff; background:rgba(9,31,54,.83); border:1px solid rgba(255,255,255,.16); }
.sv-visual-card strong { display:block; color:var(--gold); font-size:31px; line-height:1.1; }
.sv-visual-card span { display:block; margin-top:5px; color:#ced9e5; font-size:12px; }
.sv-about-copy p { margin:0 0 16px; color:var(--muted); font-size:15px; }
.sv-about-copy p:first-of-type { color:var(--ink); font-size:18px; line-height:1.8; }
.sv-checklist { display:grid; grid-template-columns:1fr 1fr; gap:12px 22px; margin:26px 0 30px; padding:0; list-style:none; }
.sv-checklist li { position:relative; padding-left:24px; color:#43566a; font-size:13px; }
.sv-checklist li::before { content:'✓'; position:absolute; left:0; color:var(--cyan); font-weight:800; }
.sv-services { background:linear-gradient(135deg,#effaff 0%,#f8fbfd 55%,#eef8f8 100%); }
.sv-service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.sv-service { position:relative; min-height:225px; padding:27px 28px 25px; background:#fff; border:1px solid transparent; border-top:3px solid transparent; transition:all .25s ease; }
.sv-service:hover { transform:translateY(-4px); border-color:#b7e4ea; border-top-color:var(--cyan); box-shadow:0 14px 35px rgba(20,81,97,.10); }
.sv-service-number { display:inline-flex; align-items:center; justify-content:center; width:35px; height:35px; margin-bottom:20px; border-radius:50%; background:linear-gradient(135deg,#c9faf5,#dce8ff); color:#057c96; font-family:'DM Sans',sans-serif; font-size:12px; font-weight:700; }
.sv-service h3 { margin:0 0 8px; color:var(--navy); font-size:19px; }
.sv-service p { min-height:64px; margin:0 0 17px; color:var(--muted); font-size:13px; line-height:1.75; }
.sv-solution-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.sv-solution { position:relative; min-height:286px; overflow:hidden; padding:0; color:#fff; background:var(--navy); box-shadow:0 10px 25px rgba(9,67,101,.12); }
.sv-solution::before { display:none; }
.sv-solution::after { content:none; display:none; }
.sv-solution-image { position:relative; z-index:1; display:block; width:100%; height:72%; object-fit:cover; object-position:center; filter:saturate(1.04) brightness(1.03); transition:transform .4s ease,filter .4s ease; }
.sv-solution:hover .sv-solution-image { transform:scale(1.03); filter:saturate(1.04) brightness(1.04); }
.sv-solution > * { position:relative; z-index:1; }
.sv-solution-icon { position:absolute; top:18px; left:20px; display:flex; align-items:center; justify-content:center; width:42px; height:42px; border:2px solid rgba(255,255,255,.9); border-radius:9px; color:#fff; font:700 25px/1 Arial,sans-serif; }
.sv-solution h3 { position:absolute; left:20px; right:14px; bottom:45px; margin:0; font-size:17px; line-height:1.35; }
.sv-solution p { position:absolute; left:20px; right:12px; bottom:15px; overflow:hidden; margin:0; color:#bcd1df; font-size:10px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.sv-process { overflow:hidden; background-image:linear-gradient(115deg,rgba(3,35,73,.97) 0%,rgba(0,91,126,.88) 53%,rgba(88,38,116,.82) 100%),url('../images/senior-hero-language-bridge-1.png'); background-position:center; background-size:cover; color:#fff; }
.sv-process .sv-section-head h2 { color:#fff; }
.sv-process .sv-section-intro { color:#a9bdcf; }
.sv-process-line { display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:55px; }
.sv-process-step { position:relative; padding:0 21px 0 0; }
.sv-process-step:not(:last-child)::after { content:''; position:absolute; top:18px; left:42px; right:17px; height:1px; background:linear-gradient(90deg,rgba(122,220,215,.75),rgba(122,220,215,.16)); }
.sv-step-index { position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center; width:37px; height:37px; border:2px solid #75d9e4; border-radius:50%; color:#b7f0f2; background:#075177; font-family:'DM Sans',sans-serif; font-size:12px; font-weight:700; }
.sv-process-step h3 { margin:21px 0 8px; font-size:16px; }
.sv-process-step p { margin:0; padding-right:15px; color:#a9bdcf; font-size:12px; line-height:1.75; }
.sv-cases-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:17px; }
.sv-case { overflow:hidden; background:#fff; border:1px solid var(--line); }
.sv-case-image { position:relative; height:240px; overflow:hidden; background:#d9e2e9; aspect-ratio:3/2; }
.sv-case-image img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .4s ease; }
.sv-case:hover .sv-case-image img { transform:scale(1.04); }
.sv-case:first-child .sv-case-image { height:240px; }
.sv-case-copy { padding:21px 22px 24px; }
.sv-case-tag { color:var(--cyan); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.sv-case h3 { margin:9px 0 8px; color:var(--navy); font-size:18px; line-height:1.45; }
.sv-case p { margin:0 0 15px; color:var(--muted); font-size:13px; }
.sv-insights { background:linear-gradient(135deg,#f0fbff 0%,#f5f8ff 100%); }
.sv-insight-grid { display:grid; grid-template-columns:1.05fr 1fr 1fr; gap:17px; }
.sv-insight { min-height:245px; padding:25px; background:#fff; border:1px solid var(--line); }
.sv-insight-cover { min-height:190px; color:#fff; background:linear-gradient(140deg,rgba(6,29,51,.86),rgba(10,101,110,.40)),url('../images/senior-industries-domestic-style.png') center/cover; }
.sv-insight-cover h3 { max-width:240px; margin-top:68px; color:#fff; font-size:22px; }
.sv-insight-label { color:var(--cyan); font-size:11px; font-weight:800; letter-spacing:.14em; }
.sv-insight h3 { margin:16px 0 10px; color:var(--navy); font-size:17px; line-height:1.55; }
.sv-insight ul { margin:15px 0 0; padding:0; list-style:none; }
.sv-insight li { overflow:hidden; padding:10px 0; border-bottom:1px solid var(--line); color:#475a6e; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.sv-insight li::before { content:'↗'; margin-right:8px; color:var(--cyan); }
.sv-faq-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:75px; align-items:start; }
.sv-faq-grid > div > p { margin:17px 0 22px; color:var(--muted); font-size:14px; }
.sv-faq-list details { padding:18px 0; border-bottom:1px solid var(--line); }
.sv-faq-list summary { cursor:pointer; color:var(--navy); font-size:15px; font-weight:700; list-style:none; }
.sv-faq-list summary::-webkit-details-marker { display:none; }
.sv-faq-list summary::after { content:'+'; float:right; color:var(--cyan); font-family:'DM Sans',sans-serif; font-size:20px; font-weight:400; }
.sv-faq-list details[open] summary::after { content:'−'; }
.sv-faq-list details p { margin:11px 30px 0 0; color:var(--muted); font-size:13px; }
.sv-cta { position:relative; overflow:hidden; color:#fff; background:var(--cyan); }
.sv-cta::after { content:''; position:absolute; width:500px; height:500px; right:-150px; top:-280px; border:1px solid rgba(255,255,255,.26); border-radius:50%; box-shadow:0 0 0 45px rgba(255,255,255,.06),0 0 0 90px rgba(255,255,255,.04); }
.sv-cta .sv-shell { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center; gap:35px; }
.sv-cta h2 { max-width:650px; color:#fff; }
.sv-cta p { margin:13px 0 0; color:#d9f7f5; font-size:14px; }
.sv-cta .sv-btn { flex:0 0 auto; background:var(--navy); color:#fff; }
.sv-footer { color:#a8bacb; background:#08192b; }
.sv-footer-main { padding:60px 0 44px; display:grid; grid-template-columns:1.35fr 1fr 1fr 1.2fr; gap:45px; }
.sv-footer-brand img { width:188px; margin-bottom:19px; filter:brightness(0) invert(1); opacity:.92; }
.sv-footer-brand p { max-width:245px; margin:0; color:#94aabd; font-size:12px; }
.sv-footer h3 { margin:0 0 15px; color:#fff; font-size:14px; }
.sv-footer ul { margin:0; padding:0; list-style:none; }
.sv-footer li { margin:7px 0; font-size:12px; }
.sv-footer li a:hover { color:#8bd9e3; }
.sv-footer-contact { color:#d1dce6; font-size:12px; }
.sv-footer-contact p { margin:7px 0; }
.sv-footer-bottom { padding:18px 0; border-top:1px solid rgba(255,255,255,.11); color:#7890a5; font-size:11px; }
.sv-footer-bottom .sv-shell { display:flex; justify-content:space-between; gap:16px; }
@media (max-width:1080px) { .sv-header .sv-shell{gap:24px}.sv-nav{gap:14px;font-size:13px}.sv-logo,.sv-logo img{width:178px}.sv-about-grid,.sv-faq-grid{gap:42px} }
@media (max-width:860px) { .sv-topline .sv-shell{justify-content:center}.sv-topline .sv-top-message{display:none}.sv-header .sv-shell{min-height:70px;flex-wrap:wrap;padding:12px 0}.sv-nav{order:3;width:100%;overflow-x:auto;margin-left:0;padding-bottom:3px}.sv-nav a{padding:8px 0}.sv-nav a::after{bottom:0}.sv-head-cta{display:none}.sv-hero::before{display:none}.sv-hero .sv-shell{min-height:0;display:flex;flex-direction:column}.sv-hero-media{order:1;width:100vw;max-width:none;min-height:0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.sv-hero-copy{order:2;padding:48px 0 118px}.sv-hero h1{max-width:680px}.sv-stats{right:0;left:0;bottom:25px}.sv-capability-grid{grid-template-columns:repeat(2,1fr)}.sv-section{padding:70px 0}.sv-about-grid,.sv-faq-grid{grid-template-columns:1fr}.sv-about-visual{min-height:300px}.sv-service-grid{grid-template-columns:repeat(2,1fr)}.sv-solution-grid{grid-template-columns:repeat(2,1fr)}.sv-process-line{grid-template-columns:repeat(2,1fr);gap:35px 12px}.sv-process-step:not(:last-child)::after{display:none}.sv-cases-grid,.sv-insight-grid{grid-template-columns:1fr 1fr}.sv-case:first-child,.sv-insight-cover{grid-column:1/-1}.sv-cta .sv-shell{display:block}.sv-cta .sv-btn{margin-top:22px}.sv-footer-main{grid-template-columns:1fr 1fr} }
@media (max-width:560px) { .sv-shell{width:min(100% - 32px,1200px)}.sv-toplinks{gap:10px;font-size:11px}.sv-logo,.sv-logo img{width:165px}.sv-hero-media{min-height:0}.sv-hero-copy{padding:40px 0 125px}.sv-hero h1{font-size:38px}.sv-hero-lead{font-size:15px}.sv-stats{width:100%;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px 12px}.sv-stat{min-width:0}.sv-stat strong{font-size:23px}.sv-capabilities{padding:62px 0}.sv-capability-grid,.sv-trust .sv-shell,.sv-service-grid,.sv-solution-grid,.sv-cases-grid,.sv-insight-grid,.sv-footer-main{grid-template-columns:1fr}.sv-case:first-child,.sv-insight-cover{grid-column:auto}.sv-section-head{display:block}.sv-section-intro{margin-top:17px}.sv-section-head .sv-text-link{margin-top:20px}.sv-checklist{grid-template-columns:1fr}.sv-footer-bottom .sv-shell{display:block}.sv-footer-bottom p{margin:5px 0} }

/* TransPerfect-inspired hero treatment: full-bleed image, soft white copy field, and overlapping capability cards. */
.sv-hero { min-height:650px; overflow:visible; background:#fff; }
.sv-hero::before { display:none; }
.sv-hero .sv-shell { min-height:650px; display:block; }
.sv-hero-media { position:absolute; inset:0; z-index:0; width:100%; height:100%; aspect-ratio:auto; background:#edf8fa; }
.sv-hero-media::after { background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 29%,rgba(255,255,255,.66) 45%,rgba(255,255,255,0) 69%),linear-gradient(0deg,rgba(4,35,67,.16),transparent 32%); }
.sv-hero-media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.sv-hero-copy { position:relative; z-index:2; width:min(560px,58%); min-height:650px; display:flex; flex-direction:column; justify-content:flex-start; padding:106px 0 220px; }
.sv-hero h1 { max-width:550px; margin:0 0 19px; color:var(--navy); font-size:clamp(38px,4.5vw,62px); }
.sv-hero-lead { color:#657487; }
.sv-actions { margin-top:28px; }
.sv-hero-note { color:#657487; }
.sv-stats { right:32px; bottom:126px; }
.sv-capabilities { position:relative; z-index:4; margin-top:-108px; padding:0 0 88px; background:transparent; }
.sv-capabilities .sv-section-head { margin-bottom:22px; padding-top:10px; }
.sv-capabilities .sv-section-head { padding-top:30px; }
.sv-capabilities .sv-kicker { margin-bottom:18px; }
.sv-capabilities .sv-section-head h2 { font-size:clamp(23px,3vw,34px); }
.sv-capabilities .sv-section-intro { max-width:410px; }
.sv-capability-grid { grid-template-columns:repeat(3,1fr); gap:24px; }
.sv-capability { min-height:282px; padding:32px 32px 27px; color:var(--ink); background:#fff; border:1px solid #e5eef3; border-top:4px solid var(--cyan); box-shadow:0 18px 42px rgba(8,45,82,.14); }
.sv-capability::before,.sv-capability::after { display:none; }
.sv-capability:hover { transform:translateY(-6px); box-shadow:0 24px 50px rgba(8,45,82,.19); }
.sv-capability-icon { display:flex; align-items:center; justify-content:center; width:67px; height:67px; margin-bottom:22px; border:2px solid #73b9de; border-radius:20px; color:#4b9ed3; font:700 23px/1.05 'Noto Sans SC',sans-serif; text-align:center; }
.sv-capability-icon b { font-size:18px; }
.sv-capability-index { position:absolute; top:32px; right:32px; color:#b3c6d5; font:700 12px 'DM Sans',sans-serif; }
.sv-capability > div { position:static; }
.sv-capability h3 { margin:0 0 9px; color:var(--navy); font-size:21px; }
.sv-capability p { min-height:65px; margin:0 0 16px; color:var(--muted); font-size:13px; line-height:1.75; }
.sv-capability .sv-text-link { color:#4c9fde; font-size:12px; }
.sv-capability-icon { display:none; }
.sv-capability-icon { display:flex; }
.sv-solution-icon { display:none; }
.sv-cta h2 { white-space:nowrap; font-size:clamp(24px,3.2vw,38px); }
@media (max-width:860px) {
  .sv-hero,.sv-hero .sv-shell { min-height:650px; }
  .sv-hero-media { position:absolute; inset:0; width:100vw; height:100%; margin:0 calc(50% - 50vw); }
  .sv-hero-copy { width:min(620px,100%); min-height:650px; padding:62px 0 220px; }
  .sv-hero-media::after { background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.88) 54%,rgba(255,255,255,.15) 100%),linear-gradient(0deg,rgba(4,35,67,.15),transparent 35%); }
  .sv-stats { right:0; bottom:116px; }
  .sv-capabilities { margin-top:-75px; }
  .sv-capability-grid { grid-template-columns:repeat(2,1fr); }
}

/* Slightly larger supporting text for readability. */
.sv-topline { font-size:13px; }
.sv-toplinks { font-size:13px; }
.sv-kicker { font-size:13px; }
.sv-section-intro { font-size:15px; }
.sv-text-link { font-size:14px; }
.sv-hero-note { font-size:13px; }
.sv-hero-note strong { font-size:17px; }
.sv-capability p { font-size:14px; }
.sv-service p { font-size:14px; }
.sv-solution p { font-size:11px; }
.sv-process-step p { font-size:13px; }
.sv-case-tag { font-size:12px; }
.sv-case p { font-size:14px; }
.sv-insight-label { font-size:12px; }
.sv-insight li { font-size:13px; }
.sv-faq-grid > div > p,.sv-faq-list details p { font-size:14px; }
.sv-footer-brand p,.sv-footer li,.sv-footer-contact { font-size:13px; }
@media (max-width:560px) {
  .sv-hero,.sv-hero .sv-shell { min-height:650px; }
  .sv-hero-copy { min-height:650px; padding:50px 0 215px; }
  .sv-hero h1 { font-size:38px; }
  .sv-hero-media img { object-position:center; }
  .sv-stats { bottom:102px; }
  .sv-capabilities { margin-top:-55px; padding-bottom:62px; }
  .sv-capabilities .sv-section-head { padding-top:0; }
  .sv-capability-grid { grid-template-columns:1fr; }
  .sv-cta h2 { white-space:normal; font-size:28px; }
}

/* Full-viewport hero image: stretch from the left edge to the right edge. */
.sv-hero { min-height:clamp(650px,calc(100vh - 120px),780px); }
.sv-hero .sv-shell { min-height:clamp(650px,calc(100vh - 120px),780px); }
.sv-hero-media { inset:0 auto auto 50%; width:100vw; height:100%; transform:translateX(-50%); }
.sv-hero-media img { width:100%; height:100%; object-fit:cover; object-position:center center; }
@media (max-width:860px) {
  .sv-hero,.sv-hero .sv-shell { min-height:650px; }
  .sv-hero-media { inset:0 auto auto 50%; width:100vw; height:100%; margin:0; transform:translateX(-50%); }
}

/* Keep the capability section below the full-bleed hero instead of overlaying it. */
.sv-capabilities { margin-top:0; padding:72px 0 88px; background:var(--paper); }
.sv-capabilities .sv-section-head { padding-top:0; }

/* One-step readability increase for supporting copy. */
.sv-hero-lead { font-size:18px; }
.sv-section-intro { font-size:16px; }
.sv-capability p { font-size:15px; }
.sv-service p { font-size:15px; }
.sv-case p { font-size:15px; }
.sv-process-step p { font-size:14px; }
.sv-faq-grid > div > p,.sv-faq-list details p { font-size:15px; }
.sv-cta p { font-size:15px; }
@media (max-width:560px) {
  .sv-capabilities { margin-top:0; padding:62px 0; }
  .sv-hero-lead { font-size:16px; }
  .sv-section-intro { font-size:16px; }
}

/* Optional coral accent comparison: open the homepage with ?theme=coral. */
body.theme-coral { --cyan:#ff684f; --cyan-light:#fff0ec; }
body.theme-coral .sv-capability .sv-text-link { color:#d9543e; }
body.theme-coral .sv-step-index { border-color:#ff9b88; color:#ffd9d1; }
body.theme-coral .sv-service-number { background:linear-gradient(135deg,#ffe2db,#fff0da); color:#c94e38; }
body.theme-coral .sv-solution::after { border-top-color:rgba(255,170,151,.45); }
body.theme-coral .sv-footer li a:hover { color:#ff9b88; }

/* Make the selected wordmark more prominent in the header. */
.sv-header .sv-shell { min-height:94px; }
.sv-logo,.sv-logo img { width:270px; }
.sv-nav a { padding:35px 0; }
.sv-nav a::after { bottom:24px; }
@media (max-width:1080px) {
  .sv-logo,.sv-logo img { width:238px; }
  .sv-header .sv-shell { gap:24px; }
}
@media (max-width:860px) {
  .sv-header .sv-shell { min-height:78px; }
  .sv-logo,.sv-logo img { width:228px; }
  .sv-nav a { padding:8px 0; }
  .sv-nav a::after { bottom:0; }
}
@media (max-width:560px) {
  .sv-logo,.sv-logo img { width:220px; }
}

/* Four-part proof strip, matching the wide reference treatment. */
.sv-stats { left:0; right:0; bottom:0; grid-template-columns:repeat(4,1fr); gap:0; padding:16px 0; background:rgba(4,25,55,.88); border:0; border-top:1px solid rgba(117,218,228,.35); box-shadow:none; }
.sv-stat { min-width:0; padding:0 24px; border-right:1px solid rgba(160,218,226,.20); }
.sv-stat:last-child { border-right:0; }
.sv-stat span { font-size:12px; }
.sv-cases-grid { grid-template-columns:repeat(3,1fr); }
.sv-case-image,.sv-case:first-child .sv-case-image { height:240px; aspect-ratio:auto; }

/* Fixed contact entry in the lower-right corner. */
.sv-wechat-float { position:fixed; right:20px; bottom:20px; z-index:20; width:116px; padding:8px 8px 9px; color:var(--navy); background:#fff; border:1px solid #cfe5ec; border-radius:8px; box-shadow:0 10px 28px rgba(8,45,82,.22); text-align:center; }
.sv-wechat-float span { display:block; margin-bottom:6px; color:var(--cyan); font-size:12px; font-weight:800; }
.sv-wechat-float img { display:block; width:100%; height:auto; border-radius:3px; }
.sv-wechat-float summary { cursor:pointer; color:#087f91; font-size:14px; font-weight:700; }
.sv-wechat-float:not([open]) { width:auto; min-width:100px; padding:12px 16px; }
.sv-wechat-float[open] img { margin-top:8px; }
.sv-wechat-float[open] { width:190px; }
.sv-stat span { font-size:14px; }
.sv-solution { display:flex; flex-direction:column; min-height:325px; }
.sv-solution-image { flex:none; height:205px; }
.sv-solution h3 { position:static; margin:20px 20px 8px; font-size:21px; }
.sv-solution p { position:static; margin:0 20px 22px; font-size:14px; white-space:normal; line-height:1.65; }
@media (max-width:860px) {
  .sv-stats { left:0; right:0; bottom:0; grid-template-columns:repeat(4,1fr); padding:13px 0; }
  .sv-stat { padding:0 8px; }
  .sv-stat strong { font-size:23px; }
  .sv-stat span { font-size:10px; }
  .sv-wechat-float { right:14px; bottom:14px; width:92px; }
}
/* Keep long mobile copy above the statistics rather than underneath them. */
@media (max-width:860px) {
  .sv-hero,.sv-hero .sv-shell { min-height:0; }
  .sv-hero .sv-shell { display:flex; flex-direction:column; }
  .sv-hero-copy { min-height:0; padding:52px 0 40px; }
  .sv-stats { position:relative; inset:auto; width:100%; order:3; margin:0; }
  .sv-stat span { font-size:13px; }
  .sv-hero-note { line-height:1.9; }
}
@media (max-width:560px) {
  .sv-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 0; padding:20px 0; }
  .sv-stat:nth-child(2) { border-right:0; }
  .sv-solution-image { height:220px; }
  .sv-solution h3 { font-size:23px; }
  .sv-solution p { font-size:16px; }
}
