/* Shared interaction rules; product-version and customer-case presentation stays intact. */
:root{--control-radius:12px;--motion-fast:160ms;--motion-ui:240ms;--ease-ui:cubic-bezier(.23,1,.32,1)}
.btn:not(.v-card .btn){border-radius:var(--control-radius)}
.nav-login,.nav-register{border-radius:var(--control-radius);transition:background var(--motion-fast),color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast)}
.btn:not(.v-card .btn){transition:background var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-ui),transform var(--motion-fast) var(--ease-ui)}
.btn:not(.v-card .btn):active,.nav-register:active,.dock button:active{transform:scale(.98)}
@media(hover:hover) and (pointer:fine){
 .btn:not(.v-card .btn):hover{transform:translateY(-2px)}
 .btn:not(.v-card .btn):active{transform:translateY(0) scale(.98)}
 .scene-tabs button:hover{background:var(--blue-soft);color:var(--blue)}
 .nav-register:hover{box-shadow:0 5px 16px #347cce26}
}
.scene-tabs button{transition:background var(--motion-fast),color var(--motion-fast),box-shadow var(--motion-ui)}
.scene-frames iframe{transition:none;will-change:opacity,transform}
.scene-tabs{margin-top:12px}
@media(min-width:768px){
 .hero-scene{max-width:clamp(620px,calc(177.78svh - 906px),1060px);margin-top:0}
 .hero-proof{margin-top:18px}
 .hero-proof+.hero-cta{margin-top:20px}
 .hero h1{margin-top:12px}
 .hero{padding-top:25px}
}
@media(min-width:768px) and (max-height:850px){.hero{padding-top:18px}.proof-note{display:none}.hero-proof{margin-top:14px}.hero-proof+.hero-cta{margin-top:16px}}
@media(max-width:767px){
 .proof-note{display:none}
 .hero-proof{margin-top:15px}
 .proof-badges{gap:10px}
 .hero-sub.scene-subhead{font-size:15px}
 .hero-scene{width:100%;padding:0 4px}
 .scene-tabs{margin-top:8px}
}
.companion-live{display:inline-block;flex:none;pointer-events:none;line-height:0}
.companion-live iframe{border:0;display:block;width:100%;height:100%;pointer-events:none}
.hero-eyebrow .companion-live{width:46px;height:46px}
.film-categories .companion-live{width:44px;height:44px;margin-block:-8px}
/* The consultation destination is shared by every lead action. */
.consult-modal{border:1px solid #ffffffd9;background:#edf1fc;padding:0;width:390px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;border-radius:26px;color:var(--ink);box-shadow:0 32px 100px #15244638}
.consult-modal::backdrop{background:#18233c70;backdrop-filter:blur(7px)}
.consult-card{position:relative;padding:30px 30px 24px;text-align:center;background:radial-gradient(ellipse at 0 0,#cbe3ffb3,transparent 60%),radial-gradient(ellipse at 100% 90%,#ded5f980,transparent 55%),linear-gradient(145deg,#f1f6ff,#fbfcff 60%,#f1edfc)}
.consult-agent{display:flex;align-items:center;gap:12px;text-align:left;padding-right:28px}
.consult-avatar{position:static;transform:none;flex:none;width:48px;height:48px;border:2px solid white;border-radius:16px;background:white;object-fit:cover;box-shadow:0 3px 12px #6583ba1c}
.consult-agent span{font-size:15px;font-weight:600;color:#344d76}
.consult-agent small{display:block;font-size:11px;color:#7a8aa5;margin-top:3px;letter-spacing:.03em}
.consult-card h3{font-size:23px;line-height:1.55;letter-spacing:-.035em;color:#233b61;font-weight:600;margin:24px 0 20px}
.consult-card h3:focus{outline:none}
.consult-qr-frame{width:264px;max-width:100%;padding:13px;background:white;border:1px solid #e4eafa;border-radius:18px;margin:auto;box-shadow:0 12px 30px #5b75a911}
.consult-qr{display:block;width:236px;max-width:100%;height:auto;margin:auto;background:white}
.consult-card p{font-size:13px;line-height:1.8;color:#7586a2;margin:17px 0 20px}
.consult-services{display:flex;justify-content:center;gap:0;border-top:1px solid #d9e1f570;padding-top:17px;color:#7c8baa;font-size:11px}
.consult-services span{padding:0 14px}
.consult-services span+span{border-left:1px solid #d6dfef}
.consult-close{position:absolute;top:15px;right:15px;display:grid;place-items:center;width:32px;height:32px;border:1px solid #ffffff;border-radius:10px;background:#ffffff8c;color:#7b8fac;transition:background .25s ease-in-out,color .25s ease-in-out}
.consult-close .ri{width:18px;height:18px}
.consult-close:hover{background:white;color:#286dbe}
.consult-close:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
@media(max-width:420px){.consult-card{padding:26px 22px 22px}.consult-card h3{font-size:21px}.consult-services span{padding-inline:12px}}
@media(max-height:580px){.consult-card{padding:20px 26px 18px}.consult-agent{gap:10px}.consult-avatar{width:40px;height:40px}.consult-card h3{font-size:20px;margin:12px 0}.consult-qr-frame{width:218px;padding:9px;border-radius:14px}.consult-card p{margin:10px 0;font-size:12px}.consult-services{padding-top:10px}}
/* Restore the hierarchy of the original honor wall: three leading awards and six supporting awards. */
#honors{background:linear-gradient(160deg,#f5f8fd,#fafbff 54%,#f5f3fb)}
#honors .wrap{max-width:1280px}
.honor-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:22px;align-items:stretch}
#honors .award-grid{grid-template-columns:1fr;gap:20px}
#honors .award{display:flex;align-items:center;gap:24px;min-height:214px;padding:24px 28px;border:1px solid #fff;border-radius:20px;background:linear-gradient(120deg,#ffffffeb,#ffffff99);box-shadow:0 9px 26px #55719f0b}
#honors .award-img{width:164px;flex:0 0 164px;background:transparent;border-radius:10px}
#honors .award-img img{width:100%;height:160px;aspect-ratio:auto;object-fit:contain}
#honors .award-copy{min-width:0}
#honors .award h3{font-size:21px;line-height:1.5;margin:0 0 14px;color:#293b58}
#honors .award p{font-size:14px;line-height:1.95;color:#72819a;margin:0}
#honors .honor-list{display:grid;grid-template-rows:repeat(6,1fr);gap:14px;margin:0}
#honors .honor-list li{display:flex;align-items:center;gap:16px;padding:20px 24px;border:1px solid white;border-radius:16px;background:linear-gradient(120deg,#ffffffed,#ffffff9c);box-shadow:0 7px 22px #55719f0b;font-size:17px;font-weight:500;line-height:1.55;color:#3b4b66}
.honor-trophy{width:32px;height:32px;flex:0 0 32px;color:#d8b66a;filter:drop-shadow(0 2px 3px #c99b3620)}
@media(max-width:1100px) and (min-width:768px){.honor-layout{grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:16px}#honors .award{gap:16px;padding:20px;min-height:216px}#honors .award-img{width:120px;flex-basis:120px}#honors .award h3{font-size:18px}#honors .award p{font-size:13px}#honors .honor-list li{font-size:15px;padding:16px;gap:12px}}
@media(min-width:768px) and (max-width:1200px){#honors .wrap{padding-right:104px}}
@media(min-width:768px) and (max-width:900px){.honor-layout{grid-template-columns:1fr}#honors .honor-list{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}#honors .honor-list li{min-height:100px}}
@media(max-width:767px){.honor-layout{grid-template-columns:1fr;gap:20px}#honors .award{gap:16px;padding:20px 16px;min-height:0;border-radius:16px}#honors .award-img{width:90px;flex-basis:90px}#honors .award-img img{height:126px}#honors .award h3{font-size:16px;margin-bottom:10px}#honors .award p{font-size:12px;line-height:1.85}#honors .honor-list{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:10px}#honors .honor-list li{flex-direction:column;align-items:flex-start;gap:10px;padding:16px;font-size:13px;min-height:125px}.honor-trophy{width:27px;height:27px;flex-basis:27px}}
/* A quiet right rail on desktop; a single contact action on mobile. */
.dock-consult .dock-avatar{display:block;flex:none;width:44px;height:44px;border-radius:50%;object-fit:cover;background:white;box-shadow:0 3px 12px #347cce1a;transition:transform var(--motion-ui) ease-in-out,box-shadow var(--motion-ui) ease-in-out}
@media(hover:hover) and (pointer:fine){.dock-consult:hover .dock-avatar{transform:translateY(-1px);box-shadow:0 4px 14px #347cce30}}
@media(min-width:768px){
 .dock{left:auto;right:14px;bottom:auto;top:50%;padding:7px;gap:4px;width:78px;flex-direction:column;border-radius:18px;transform:translate(120%,-50%);opacity:0;visibility:hidden;transition:transform .3s var(--ease-ui),opacity .2s,visibility .3s}
 .dock.is-on{transform:translate(0,-50%);opacity:1;visibility:visible}
 .dock .dock-phone{display:none}
 .dock-link,.dock .btn{width:64px;height:auto;min-height:64px;border:0;padding:8px 2px;border-radius:12px;font-size:11px;gap:5px;display:flex;flex-direction:column;justify-content:center;align-items:center;white-space:normal;text-align:center;background:transparent;color:var(--ink-2);box-shadow:none}
 .dock .ri{width:21px;height:21px;color:var(--blue)}
 .dock-link:hover,.dock .btn:hover{background:var(--blue-soft);color:var(--blue);transform:none}
 .dock-top{width:64px;height:42px;border-radius:12px;background:var(--bg-alt)}
}
@media(max-width:767px){
 .dock{left:auto;right:14px;bottom:calc(16px + env(safe-area-inset-bottom));width:auto;padding:0;border-radius:50%;background:transparent;backdrop-filter:none;box-shadow:none;visibility:hidden}
 .dock.is-on{visibility:visible}
 .dock>*{display:none!important}
 .dock .dock-consult{display:flex!important;align-items:center;justify-content:center;flex-direction:column;gap:3px;width:56px;height:56px;padding:5px;border-radius:50%;background:var(--action-blue);color:white;box-shadow:0 6px 20px #347cce40;font-size:10px}
 .dock .dock-consult .ri{width:22px;height:22px}
 .dock-consult .dock-avatar{width:28px;height:28px}
}
@media(max-width:767px){.value .values-media{margin:18px 0 6px}.value .feature-frame{padding:0}.value .feature-cap{font-size:12px}.ai-detail-preview figcaption{font-size:10px}}
@media(prefers-reduced-motion:reduce){
 .btn,.nav-login,.nav-register,.scene-tabs button,.dock,.ai-scenario,.ai-roles button{transition:none!important}
 .btn:hover{transform:none!important}
}

/* Core values: point selection at left; one film action below each preview. */
.value-point{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;border-radius:12px}
.value-point:has(>button[data-feature].is-active){background:var(--wash)}
.value-points .value-point>button[data-feature]{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;min-width:0;align-items:baseline;padding:11px 14px}
.value-points .value-point>button[data-feature]:is(:hover,.is-active){background:transparent}
@media(hover:hover) and (pointer:fine){.value-point:not(:has(>button[data-feature].is-active)):hover{background:#f2f6fb}}
.value-point-label{font:inherit;min-width:0}
.values-media .value-video{display:flex;width:max-content;max-width:100%;align-items:center;justify-content:center;gap:5px;height:34px;margin:18px auto 0;padding:0 0 3px;border:0;border-bottom:1px solid #a8c6ea;border-radius:0;background:transparent;color:#126cce;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer;box-shadow:none}
.values-media .value-video .ri{width:12px;height:12px;flex:none;fill:none}
.values-media .value-video span{padding:0;font:inherit;color:inherit}
.values-media .value-video:enabled:hover{background:transparent;color:#0753ac;border-bottom-color:currentColor;box-shadow:none}
.value-points button:focus-visible,.values-media .value-video:focus-visible{outline:2px solid #2b7ee4;outline-offset:3px}
.value-video-dialog{width:min(1000px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 40px);overflow:auto;box-sizing:border-box;border:1px solid #dce5f2;border-radius:20px;padding:20px;background:#fff;color:var(--ink);box-shadow:0 28px 90px #172b4740}
.value-video-dialog::backdrop{background:#101827b3}
.value-video-head{position:relative;display:flex;align-items:center;min-height:36px;margin-bottom:16px;padding-right:48px}
.value-video-head h3{font-size:20px;line-height:1.5}
.value-video-head .modal-x{top:0;right:0}
.value-video-dialog video{display:block;width:100%;max-height:calc(100dvh - 160px);aspect-ratio:16/9;background:#101827;border-radius:12px;object-fit:contain}
.value-video-dialog [hidden]{display:none!important}
.value-video-preview{position:relative;overflow:hidden;aspect-ratio:16/9;border:1px solid #e0e8f4;border-radius:12px;background:#f2f6fc}
.value-video-preview>img{display:block;width:100%;height:100%;object-fit:contain}
.value-video-preview-note{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);max-width:calc(100% - 24px);margin:0;padding:8px 16px;border:1px solid #d5e3f6;border-radius:24px;background:#fffffff2;box-shadow:0 4px 18px #24406412;color:#466080;font-size:13px;line-height:1.5;white-space:nowrap}
.value-video-error{margin-top:12px;color:#69768b;font-size:14px}
@media(max-width:767px){.value-points .value-point>button[data-feature]{padding:10px;gap:8px;font-size:14px}.values-media .value-video{font-size:13px;height:36px;margin-top:14px}.value-video-dialog{padding:14px;border-radius:16px}.value-video-head h3{font-size:16px}.value-video-preview-note{bottom:10px;padding:6px 12px;font-size:12px}}
