/* V7 · stable geometry and deliberately quiet interaction. */
:root { --motion-fast: 180ms; --motion-base: 250ms; --motion-slow: 400ms; --ease-quality: cubic-bezier(.22,1,.36,1); }
/* Same source navigation, one fixed coordinate system from the first pixel. */
.island, .island.float {
  position: fixed; left: 50%; transform: translateX(-50%);
  top: calc(42px - (42px - var(--page-edge))*var(--nav-p));
  width: calc(100% - 4*var(--page-edge)*var(--nav-p));
  --nav-surface: min(1,calc(4*var(--nav-p)));
  --hc: color-mix(in srgb, #fff calc(100% - 100%*var(--nav-surface)), #181f27);
  --hc-dim: color-mix(in srgb, #e0e8ed calc(100% - 100%*var(--nav-surface)), #586376);
  background: rgb(255 255 255 / var(--nav-surface));
  border: 0; border-radius: 999px;
  backdrop-filter: none; -webkit-backdrop-filter: none;
  box-shadow: 0 6px 24px rgb(13 34 47 / calc(.08*var(--nav-p)));
  animation: none; transition: none;
}
.island .bar, .island.float .bar {
  height: calc(78px - 14px*var(--nav-p));
  padding: 0 calc(36px - 10px*var(--nav-p)); transition: none;
}
.island .sw-logo svg path, .island.float .sw-logo svg path {
  fill: color-mix(in srgb, #fff calc(100% - 100%*var(--nav-surface)), #099dfd); transition: none;
}
.island .sw-logo .prod { transition: none; }
.btn-try { transition: background var(--motion-fast); box-shadow: none; }
.btn-try:hover { transform: none; }
.hero-photo { transform: scale(calc(1 + .045*var(--hero-p))) translateY(calc(12px*var(--hero-p))); transition: none; }
button:active { transform: none; }
@media(max-width:640px) {
  .island, .island.float { top: calc(18px - 6px*var(--nav-p)); }
  .island .bar, .island.float .bar { height: 58px; padding: 0 18px; gap: 12px; }
}

/* Reading hierarchy: Chinese display type, quiet metadata, useful contrast. */
:root { --copy: #425c6d; --caption: #536d7c; --title-size: clamp(36px,4.1vw,60px); }
h1,h2,h3 { text-wrap: balance; }
::selection { background: #bce4fa; color: #102c3c; }
.outcomes-heading h2 { font-size: clamp(30px,3.1vw,46px); line-height: 1.25; letter-spacing: -.025em; }
.outcomes-heading>p,.section-heading>p { font-size:16px;line-height:1.7;color:var(--copy); }
.outcome-intro p,.outcome-natural small,.outcome-conversion p,.outcome-price small,.outcome-scale p,.outcome-price .per-month { font-size:12px;line-height:1.7; }
.outcome-conversion p,.outcome-price small,.outcome-scale p,.outcome-price .per-month { color:var(--caption); }
.outcome-price>p { font-size:16px;line-height:1.6; }
.outcome-conversion h3,.outcome-scale h3 { font-size:16px;line-height:1.55; }
.outcome-conversion .stat-main,.outcome-scale .stat-main { font-variant-numeric:tabular-nums; }
.source-note,.product-metrics>.source-note { font-size:12px;line-height:1.8;color:var(--caption); }
.recording-copy p,.recording-copy button { font-size:13px; }
.scene-role,.scene-name em,.scene-dialogue>span,.stage-note { font-size:12px; }
.scene-description { font-size:16px;line-height:1.8;color:#e0e9ed; }
.scene-talk,.scene-buttons .scene-action { font-size:14px;min-height:44px; }
.scene-dialogue p { font-size:19px;line-height:1.7; }
.dialogue-next { font-size:13px;color:#d0e5dc;line-height:1.6; }
.case-copy>p { font-size:16px;line-height:1.8;color:var(--copy);max-width:410px; }
.case-industry { font-size:12px;color:var(--caption); }
.case-copy li { font-size:14px;color:var(--copy);line-height:1.6; }
.case-tabs button { font-size:13px;min-height:48px; }
.case-audio { font-size:14px;min-height:44px; }
.case-visual>img { filter:none;opacity:1; }
.case-screen { background:#f9fcfb;box-shadow:0 12px 32px #102a401f;backdrop-filter:none; }
.case-screen-head { font-size:13px;color:#456575; }
.case-screen-head small { font-size:11px;color:#42645d;border-color:#bfd2cc; }
.case-task-title { font-size:16px;line-height:1.5;color:#24495e; }
.case-screen dt { font-size:12px;color:#516b78; }
.case-screen dd { font-size:14px;color:#234b61; }
.case-screen dl>div { padding:12px 0;border-color:#dce6e8; }
.case-next { font-size:12px;color:#356a5e;border-color:#dce6e8; }
.case-photo-note,.case-navigation { font-size:12px; }
.case-navigation { color:#516b7c; }
.case-navigation button,.stage-arrow { min-width:44px;min-height:44px; }
.restored-learning .learning-copy h2 { font-size:var(--title-size); }
.restored-learning .section-kicker { font-size:12px;color:#476778; }
.restored-learning .learning-copy>p:not(.section-kicker) { font-size:16px;line-height:1.8;color:var(--copy); }
.restored-learning .conversion-proof strong { font-size:14px;color:#29556b; }
.restored-learning .conversion-proof span { font-size:12px;line-height:1.7;color:#526f7e; }
.restored-learning .learning-center span,.restored-learning .loop-node,.learning-focus { font-size:12px;color:#365d73; }
.learning-time-copy h3 { font-size:18px;color:#244f65; }
.learning-time-copy p { font-size:13px;color:var(--copy);line-height:1.7; }
.learning-time-source { font-size:11px;color:var(--caption); }
.learning-time-controls .growth-milestones button { font-size:12px;min-height:44px;color:#476778; }
.growth-controls { font-size:12px; }
.growth-controls>button { font-size:12px;min-height:44px; }
.brain-head>p,.brain-input>span { font-size:12px; }
.brain-input p { font-size:14px;line-height:1.6; }
.layer-top { font-size:12px; }
.layer-result,.brain-callout span { font-size:12px; }
.brain-callout b { font-size:14px; }
.brain-turn-controls button { font-size:12px;min-height:44px; }
.brain-turn-controls>span { font-size:12px; }
.brain-output dt { font-size:12px;color:#9dbccd; }
.brain-output dd { font-size:14px;line-height:1.7; }
.brain-output p,.brain-output small { font-size:12px;color:#b0d1df;line-height:1.6; }
.efficiency-note { font-size:16px;color:var(--copy); }
.pricing-copy>.section-kicker,.price-anchor>p { font-size:16px;color:var(--copy); }
.cost-comparison>div>span,.cost-comparison>div>small,.cost-calculator>p { font-size:12px;color:var(--caption);line-height:1.7; }
.hero-description { font-size:16px; }
.engine-credit { font-size:12px; }
@media(max-width:760px) {
  .outcomes-heading h2 { font-size:30px; }
  .outcomes-heading>p,.section-heading>p { font-size:14px; }
  .outcome-conversion h3,.outcome-scale h3 { font-size:14px; }
  .outcome-conversion p,.outcome-price small { font-size:11px; }
  .outcome-price>p { font-size:13px; }
  .source-note,.product-metrics>.source-note { font-size:11px; }
  .scene-description { font-size:15px; }
  .scene-dialogue p { font-size:16px; }
  .scene-talk,.scene-buttons .scene-action { font-size:13px; }
  .case-copy>p { font-size:16px; }
  .case-copy li { font-size:14px; }
  .case-tabs button { min-height:44px; }
  .case-industry { font-size:12px; }
  .case-screen-head { font-size:12px; }
  .case-screen-head small { font-size:10px; }
  .case-task-title { font-size:14px; }
  .case-screen dt { font-size:12px; }
  .case-screen dd { font-size:13px; }
  .case-next { font-size:12px; }
  .case-navigation>span:nth-child(2) { display:none; }
  .restored-learning .learning-copy h2 { font-size:34px; }
  .restored-learning .learning-copy>p:not(.section-kicker) { font-size:16px; }
  .restored-learning .conversion-proof strong { font-size:13px; }
  .restored-learning .conversion-proof span { font-size:11px; }
  .restored-learning .learning-center span,.restored-learning .loop-node,.learning-focus { font-size:12px; }
  .learning-time-copy p { font-size:13px; }
  .learning-time-controls .growth-milestones button { font-size:11px;min-height:44px; }
  .learning-time-source { font-size:11px; }
  .hero-description { font-size:15px; }
}

/* Visible defaults: a slow network or a fast scroll never hides the message. */
.line-mask>span,.is-ready .line-mask>span { transform:none;transition:none; }
.reveal-line,.is-ready .reveal-line { opacity:1;transform:none;transition:none; }
.is-ready .line-mask>span { animation:heroTypeIn 650ms var(--ease-quality) both; }
.is-ready .line-mask:nth-child(2)>span { animation-delay:60ms; }
@keyframes heroTypeIn { from { transform:translateY(18px); } to { transform:none; } }
.motion-ready .scene-title .motion-line-mask>span { transform:none;opacity:1;transition:none; }
.title-entered .motion-line-mask>span { animation:sectionTypeIn 600ms var(--ease-quality) both;animation-delay:var(--line-delay); }
@keyframes sectionTypeIn { from { transform:translateY(14px); } to { transform:none; } }
:root { --scene-reveal:1300ms; }
.outcome-card { transition:transform 600ms var(--ease-quality); }
.outcome-recording>img,.outcome-recording:hover>img { transform:scale(1.04);transition:none; }
/* A small screen reads the learning scene in its own flow, without clipping. */
@media(max-width:760px) {
  .outcome-mosaic { grid-template-rows:150px 272px 218px 220px; }
  .outcome-scale { min-height:146px; }
  .learning.restored-learning { height:auto;min-height:0; }
  .learning-sticky { position:relative;height:auto;min-height:0;padding:88px 24px 64px;overflow:visible; }
  .learning-main { gap:24px; }
  .restored-learning .learning-visual { height:280px; }
  .learning-time { gap:20px;margin-top:20px; }
  .learning-time-source { margin-top:18px; }
  .growth-controls>span { max-width:145px;line-height:1.6; }
  .hero-content { bottom:110px; }
  .hero h1 { font-size:clamp(44px,12.7vw,58px); }
  .hero-actions { flex-wrap:wrap;gap:18px; }
}
@media(prefers-reduced-motion:reduce) {
  .is-ready .line-mask>span,.title-entered .motion-line-mask>span { animation:none; }
  .hero-photo { transform:none!important; }
}

/* Keep the five capability labels below the conversation controls. */
@media(min-width:761px) {
  .brain-head h2 { font-size:clamp(34px,3.3vw,46px); }
}
.hero-powered { font-size:12px;color:#c7dbe5;min-height:32px; }
.hero-powered>span:first-child { color:#bacdd6; }
.hero-powered b { font-weight:450; }

/* Accessible actions stay still; only the small icon acknowledges hover. */
.btn-try,.case-tabs button[aria-selected=true] { background:#0072e5; }
.btn-try:hover,.case-tabs button[aria-selected=true]:hover { background:#0063c8; }
.hero-actions .hero-call { font-size:14px; }
.hero-actions #listen { font-size:13px;min-height:44px; }
.hero-call .button-disc { transition:transform var(--motion-fast) var(--ease-quality); }
@media(hover:hover) and (pointer:fine) {
  .hero-call:hover .button-disc { transform:translate(2px,-2px); }
  .scene-talk:hover span { transform:translate(1px,-1px); }
}
.scene-talk span { transition:transform var(--motion-fast) var(--ease-quality); }
.case-card { border-radius:var(--surface-radius); }
.case-visual { border-radius:max(16px,calc(var(--surface-radius) - 36px)); }
.case-viewport.is-offscreen .case-signal i { animation-play-state:paused; }
.restored-learning .conversion-proof span { max-width:260px;text-wrap:pretty; }
@media(max-width:760px) {
  .case-visual { border-radius:16px; }
  .hero-actions .hero-call { font-size:13px; }
  .hero-actions #listen { font-size:12px; }
  .hero-powered { min-height:44px; }
  .growth-controls>button { min-height:44px; }
  .growth-controls { align-items:center; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-call .button-disc,.scene-talk span { transition:none;transform:none!important; }
}

/* The aperture reveals the intelligence scene, without leaking hidden controls. */
.brains:not(.is-unfolded) .brain-turn-controls { visibility:hidden;opacity:0;pointer-events:none; }
.brains.is-unfolded .brain-turn-controls { visibility:visible;opacity:1; }
.scene-dialogue { background:#edf2e8;backdrop-filter:none; }
.scene-dialogue>span { font-size:12px;color:#4c6874; }
.scene-dialogue p { color:#183b47; }
.scene-dialogue .dialogue-next { font-size:13px;color:#3e606e;line-height:1.6; }
.stage-note { font-size:12px;line-height:1.6;color:#4c6779; }
.learning-time .growth-controls>span { font-size:12px;color:#4d6c7c; }
.hero-shade:after { content:'';position:absolute;inset:0 0 auto;height:170px;background:linear-gradient(#0c1d2e66,transparent);pointer-events:none; }
@media(max-width:760px) {
  .brain-turn-controls { top:215px; }
  .brains .brain-head h2 { font-size:28px; }
  .brain-head>p { font-size:11px; }
  .scene-dialogue .dialogue-next { font-size:12px; }
  .scene-dialogue>span { font-size:12px; }
  .scene-name,.scene-name em { font-size:12px; }
  .role-tabs button { min-height:44px; }
  .stage-note { font-size:11px; }
  .hero-foot { font-size:11px; }
}
/* Short phones reserve a separate band for the task result. */
.brain-output>span { font-size:12px;color:#a3c8dc; }
@media(max-width:760px) {
  .brains .brain-turn-controls { top:215px; }
  .brains.has-manual-step .brain-caption { display:none; }
}

.case-viewport.is-dragging,.stage-viewport.is-dragging { cursor:grabbing; }
/* Native URL anchors land immediately; deliberate in-page actions opt into smooth motion. */
html { scroll-behavior:auto; }
@media(max-width:380px) {
  .hero-actions { gap:12px; }
  .hero-actions .hero-call { font-size:12px;padding-left:18px;gap:14px; }
  .hero-actions #listen { font-size:11px; }
  .hero-content { bottom:100px; }
}
@media(max-width:380px) and (max-height:780px) {
  .brains.has-manual-step .brain-output { padding-top:18px;padding-bottom:18px; }
}
/* Theme color follows the surface immediately, including a fast return to the hero. */
.island nav>.nav-item>a,.island nav>a { transition:background var(--motion-fast); }
.btn-login { transition:border-color var(--motion-fast); }
.hero .line-mask { overflow:visible; }
/* The footer is useful navigation, with the same readability as the page. */
.sw-footer .col h4 { font-size:15px;color:#e2edf3; }
.sw-footer .col a { font-size:14px;line-height:1.6;min-height:36px;padding-top:7px;padding-bottom:7px;color:#b5c9d7; }
.sw-footer .col a:visited { color:#a1c3dd; }
.sw-footer .contact p,.sw-footer .brand p { font-size:14px;color:#b5c9d7;line-height:1.7; }
.sw-footer .legal,.sw-footer .legal a { font-size:12px;line-height:1.8;color:#aabfcd; }
@media(max-width:760px) {
  .sw-footer .col a { min-height:44px;padding-top:11px;padding-bottom:11px; }
  .sw-footer .legal a { display:inline-flex;align-items:center;min-height:44px; }
}
/* Forms keep generous targets and avoid Safari's small-input focus zoom. */
.cm-close,.fb-close { min-width:44px;min-height:44px; }
.cm-agree label { min-height:36px;color:#536573;line-height:1.6; }
@media(max-width:760px) {
  #cmPhone,#cmCode { font-size:16px; }
  .cm-agree label { min-height:44px;font-size:13px; }
}

/* Author Chinese phrase breaks; balance must not split a verb such as 推进. */
.case-copy h3 { text-wrap:wrap; }
@media(max-width:380px) { .case-copy h3 { font-size:24px; } }
