:root { color-scheme:light; --ink:#171641; --violet:#5c58da; --mint:#a0efd3; --paper:#f8f7fc; --text:#242342; --soft:#696782; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--text); font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif; font-size:16px; line-height:1.65; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
button,a { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:3px solid #e79970; outline-offset:5px; }
img { max-width:100%; display:block; }
button { border:0; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { line-height:1.14; letter-spacing:-.045em; }
em { font-style:normal; color:var(--violet); }
.wrap { width:min(1160px,calc(100% - 96px)); margin-inline:auto; }
.section-pad { padding-block:112px; }
.eyebrow { font-size:12px; font-weight:700; letter-spacing:.15em; line-height:1.5; margin-bottom:24px; }
.skip-link { position:absolute; left:16px; top:-100px; z-index:20; background:var(--paper); padding:12px; }
.skip-link:focus { top:12px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:13px; border-radius:100px; padding:16px 25px; font-size:15px; font-weight:650; line-height:1.4; transition:transform .18s,box-shadow .18s; }
.button:hover { transform:translateY(-2px); box-shadow:0 8px 25px #0002; }
.button-light { background:#fff; color:var(--ink); }
.hero-world { background:var(--ink); color:#fff; overflow:hidden; }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:100px; position:relative; z-index:2; }
.brand { display:inline-flex; align-items:center; gap:10px; font-size:22px; letter-spacing:-.04em; font-weight:800; white-space:nowrap; }
.desktop-nav { display:flex; gap:29px; font-weight:600; font-size:14px; }
.desktop-nav a:hover { text-decoration:underline; text-underline-offset:6px; }
.header-actions { display:flex; align-items:center; gap:18px; }
.header-button { background:#fff; color:var(--ink); padding:11px 19px; font-size:12px; }
.language-button { background:transparent; color:inherit; font-size:12px; font-weight:700; padding:9px 5px; min-width:34px; }
.hero { position:relative; min-height:625px; display:flex; align-items:center; padding-bottom:65px; }
.hero-visual { position:absolute; inset:-45px -156px 35px 240px; }
.hero-visual img { width:100%; height:100%; object-fit:cover; object-position:58% 55%; }
.hero-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--ink) 0%,#171641eb 4%,#1716414a 23%,transparent 43%),linear-gradient(0deg,var(--ink),transparent 16%); }
.hero-copy { position:relative; z-index:1; width:52%; }
.hero .eyebrow { color:var(--mint); margin-bottom:25px; }
.hero h1 { font-size:clamp(58px,5.1vw,76px); font-weight:850; line-height:1.13; margin-bottom:28px; letter-spacing:-.055em; }
.hero h1 span { color:var(--mint); }
.hero-description { font-size:17px; line-height:1.9; color:#ecebf9; margin-bottom:35px; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:28px; }
.hero-link { display:inline-flex; gap:13px; font-size:14px; align-items:center; }
.story-section { background:#eeecf9; }
.section-intro { display:grid; grid-template-columns:1fr 1fr; gap:75px; align-items:end; margin-bottom:56px; }
.section-intro h2 { font-size:clamp(38px,4vw,53px); margin-bottom:0; }
.section-intro p:last-child { color:var(--soft); font-size:16px; line-height:1.9; margin-bottom:5px; }
.story-film { background:#201f43; color:#fff; overflow:hidden; border-radius:20px; box-shadow:0 28px 55px #29234512; }
.film-stage { position:relative; overflow:hidden; }
.film-art { display:block; width:100%; height:auto; }
.film-scene { opacity:0; transform:translateX(25px) scale(1.015); transform-origin:center; transition:opacity .65s,transform .95s; }
.film-scene.is-active { opacity:1; transform:translateX(0) scale(1); }
.film-stage.is-playing .film-scene.is-active { animation:story-camera 8s ease-out both; }
.film-stage.is-playing .film-scene.is-active use[href="#player-back"] { animation:player-breath 2.6s ease-in-out infinite alternate; }
.film-stage.is-playing .film-scene.is-active .companion-wave { transform-box:fill-box; transform-origin:center; animation:voice-pulse .8s ease-in-out infinite alternate; }
.film-stage.is-playing .film-scene.is-active .companion-path { stroke-dasharray:12 8; animation:voice-travel 2s linear infinite; }
@keyframes story-camera { from { transform:scale(1); } to { transform:scale(1.025); } }
@keyframes player-breath { from { transform:translateY(0); } to { transform:translateY(-3px); } }
@keyframes voice-pulse { from { transform:scaleY(.6); } to { transform:scaleY(1.1); } }
@keyframes voice-travel { to { stroke-dashoffset:-40; } }
.film-caption { padding:28px 36px 30px; text-align:center; background:#201f43; }
.film-caption h3 { font-size:30px; margin-bottom:0; }
.word-band { display:flex; gap:45px; align-items:center; white-space:nowrap; overflow:hidden; background:var(--mint); color:var(--ink); padding:24px 0; font-size:72px; font-weight:850; letter-spacing:-.04em; line-height:1; }
.outline-word { -webkit-text-stroke:1.5px var(--ink); color:transparent; }
.experience-section { display:grid; grid-template-columns:1.03fr 1fr; gap:114px; }
.experience-lead h2 { font-size:57px; margin-bottom:32px; }
.experience-lead>p:last-child { color:var(--soft); font-size:16px; line-height:1.9; }
.experience-details article { padding:26px 0; border-bottom:1px solid #dedce9; }
.experience-details article:first-child { padding-top:0; }
.experience-details h3 { font-size:24px; margin:0 0 15px; }
.experience-details p { color:var(--soft); font-size:14px; line-height:1.9; margin-bottom:0; }
.demo-section { background:#e8e5f5; }
.demo-heading { display:flex; align-items:end; justify-content:space-between; gap:60px; margin-bottom:40px; }
.demo-heading h2 { font-size:44px; margin-bottom:0; }
.demo-heading>p { font-size:14px; line-height:1.9; color:var(--soft); margin-bottom:4px; }
.demo-placeholder { position:relative; min-height:460px; display:flex; justify-content:center; align-items:center; text-align:center; color:#f3f1ff; background:linear-gradient(90deg,#171641c9,#17164155),url("assets/hero.0846edaa9217.webp") center 58% / cover,#272442; border-radius:18px; padding:60px 28px; }
.demo-placeholder h3 { font-size:66px; font-weight:750; margin:0; text-shadow:0 4px 35px #17164188; }
.company-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.company-grid h2 { font-size:49px; }
.company-main { color:var(--text); font-size:20px; line-height:1.8; }
.invitation-section { background:var(--violet); color:#fff; text-align:center; padding-block:90px; }
.invitation-section h2 { font-size:64px; margin-bottom:36px; }
.site-footer { background:var(--ink); color:#e7e5f3; padding-top:65px; }
.footer-main { display:flex; justify-content:space-between; gap:60px; padding-bottom:50px; }
.footer-main>div>p { color:#9f9bbb; font-size:10px; letter-spacing:.11em; margin:21px 0 10px; }
.footer-links { display:flex; gap:100px; }
.footer-links>div { display:flex; flex-direction:column; gap:12px; font-size:12px; }
.footer-links>div>span { color:var(--mint); margin-bottom:3px; font-size:11px; }
.footer-help { color:inherit; font:inherit; text-align:left; background:transparent; padding:0; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; border-top:1px solid #d4ceff25; padding-block:20px; font-size:10px; color:#aaa5c5; }
.help-dialog { width:min(620px,calc(100% - 32px)); max-height:calc(100vh - 48px); padding:0; border:0; border-radius:16px; background:var(--paper); color:var(--text); box-shadow:0 20px 100px #17164144; }
.help-dialog::backdrop { background:#171641b3; }
.help-dialog-content { padding:32px; }
.help-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.help-dialog h2 { font-size:28px; margin:0; }
.help-close { background:transparent; color:var(--text); font-size:28px; line-height:1; width:40px; height:40px; }
.help-dialog details { border-top:1px solid #dcd9e9; padding-block:20px; }
.help-dialog summary { cursor:pointer; font-size:14px; font-weight:600; }
.help-dialog details p { color:var(--soft); font-size:13px; line-height:1.9; margin:14px 0 0; }
section[id] { scroll-margin-top:25px; }
@media (max-width:1050px) {
  .wrap { width:calc(100% - 64px); }
  .desktop-nav { gap:20px; font-size:12px; }
  .site-header { gap:18px; }
  .brand { font-size:21px; }
  .hero h1 { font-size:59px; }
  .hero-copy { width:56%; }
  .hero-visual { left:190px; right:-120px; }
  .hero-description { font-size:15px; }
  .hero-actions { gap:20px; }
  .section-intro { gap:40px; }
  .experience-section { gap:60px; }
  .experience-lead h2 { font-size:48px; }
  .company-grid { gap:50px; }
  .company-grid h2 { font-size:42px; }
  .demo-heading h2 { font-size:38px; }
}
@media (max-width:760px) {
  .wrap { width:calc(100% - 40px); }
  .section-pad { padding-block:65px; }
  .site-header { min-height:88px; gap:15px; flex-wrap:wrap; padding-block:18px; }
  .desktop-nav { order:3; width:100%; justify-content:space-between; gap:15px; padding-top:10px; }
  .header-actions { margin-left:auto; gap:11px; }
  .header-button { padding:9px 13px; font-size:11px; }
  .brand { font-size:20px; gap:7px; }
  .brand img { width:29px; height:29px; }
  .hero { min-height:790px; align-items:flex-start; padding-top:30px; padding-bottom:45px; }
  .hero-copy { width:100%; }
  .hero h1 { font-size:clamp(43px,8vw,61px); margin-bottom:24px; }
  .hero-description { font-size:14px; line-height:1.8; }
  .hero .eyebrow { margin-bottom:22px; font-size:11px; }
  .hero-actions { gap:22px; }
  .hero-actions .button { padding:13px 21px; font-size:12px; }
  .hero-link { font-size:12px; }
  .hero-visual { inset:375px -100px 45px -75px; }
  .hero-visual img { object-position:62% 54%; }
  .hero-visual::after { background:linear-gradient(180deg,var(--ink),transparent 26%,transparent 73%,var(--ink)); }
  .section-intro { grid-template-columns:1fr; gap:27px; margin-bottom:35px; }
  .section-intro h2 { font-size:40px; }
  .section-intro p:last-child { font-size:14px; line-height:1.9; }
  .eyebrow { font-size:10px; margin-bottom:19px; }
  .story-film { border-radius:12px; }
  .film-art { width:180%; max-width:none; margin-left:-40%; }
  .film-caption { padding:22px 18px 24px; }
  .film-caption h3 { font-size:24px; }
  .word-band { font-size:45px; gap:26px; padding-block:22px; }
  .experience-section { grid-template-columns:1fr; gap:35px; }
  .experience-lead h2 { font-size:43px; margin-bottom:26px; }
  .experience-lead>p:last-child { font-size:14px; }
  .experience-details h3 { font-size:22px; }
  .experience-details p { font-size:13px; }
  .demo-heading { display:block; margin-bottom:30px; }
  .demo-heading h2 { font-size:36px; }
  .demo-heading>p { margin-top:23px; font-size:13px; }
  .demo-placeholder { min-height:395px; padding-inline:18px; }
  .demo-placeholder h3 { font-size:47px; }
  .company-grid { grid-template-columns:1fr; gap:15px; }
  .company-grid h2 { font-size:37px; margin-bottom:5px; }
  .company-main { font-size:17px; }
  .invitation-section { padding-block:70px; }
  .invitation-section h2 { font-size:43px; }
  .help-dialog-content { padding:22px; }
  .footer-main { flex-direction:column; gap:30px; }
  .footer-links { gap:75px; }
  .footer-bottom { flex-direction:column; gap:7px; }
}
@media (max-width:370px) {
  .wrap { width:calc(100% - 32px); }
  .header-button { display:none; }
  .desktop-nav { font-size:10px; gap:9px; }
  .hero h1 { font-size:42px; }
  .hero-actions { gap:16px; }
  .hero-description { font-size:12px; }
  .hero-link { font-size:11px; }
  .hero { min-height:760px; }
  .hero-visual { top:350px; }
}
@media (pointer:coarse) { .help-close { min-width:44px; min-height:44px; } .footer-help { min-height:44px; } }
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
  .film-scene { transform:none; }
}

.film-art .player-tone-145 { filter:hue-rotate(145deg); }

.film-art .player-tone-180 { filter:hue-rotate(180deg); }

.film-art .player-tone-220 { filter:hue-rotate(220deg); }
