/* contact-v2-vl20261029.css: contact-v2-20261020.css with every viewport-height unit locked to the height at page load (var(--vh1)), 2026-10-29 */
@font-face{font-family:CHTAE Brush;src:url(./assets/fonts/zhi-mang-xing/zmx-2.woff2) format("woff2");unicode-range:U+60A8;font-display:swap}@font-face{font-family:CHTAE Brush;src:url(./assets/fonts/zhi-mang-xing/zmx-3.woff2) format("woff2");unicode-range:U+54,U+61,U+68,U+6B,U+6E,U+6F,U+75,U+79;font-display:swap}html.ct-scrolled body.contact-page .site-header[data-site-shell]{background:#060709bd!important;-webkit-backdrop-filter:blur(16px) saturate(1.2)!important;backdrop-filter:blur(16px) saturate(1.2)!important;box-shadow:0 1px #ffffff0f!important}body.contact-page.contact-full-bleed-v3 .contact-hero-calligraphy{font-family:CHTAE Brush,STXingkai,KaiTi,serif;font-size:2.05em;-webkit-text-stroke:.01em #e9545b;font-weight:400;line-height:1;margin:-.18em -.34em -.2em -.12em;padding:.18em .34em .2em .16em;color:#e9545b;background:linear-gradient(100deg,#d9454c,#e9545b 38%,#ffc2b8,#e9545b 62%,#d9454c) 120% 0 / 320% 100% no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 0 16px rgba(233,84,91,.28)) drop-shadow(0 4px 14px rgba(0,0,0,.4));transform-origin:30% 70%;animation:ct-ink-shimmer 8s 3s ease-in-out infinite}body.contact-page.contact-full-bleed-v3 .contact-hero-calligraphy:after{display:none}html.ct-hero-go body.contact-page.contact-full-bleed-v3 .contact-hero-calligraphy{animation:ct-brush 1.5s .28s cubic-bezier(.65,0,.35,1) both,ct-ink-shimmer 8s 3s ease-in-out infinite}html[lang^=ja] body.contact-page.contact-full-bleed-v3 .contact-hero-calligraphy{font-family:inherit;font-size:inherit;line-height:inherit}@keyframes ct-brush{0%{clip-path:inset(-90% 100% -90% -90%);filter:blur(4px) drop-shadow(0 0 0 rgba(233,84,91,0));scale:1.12;rotate:-5deg}60%{filter:blur(.6px) drop-shadow(0 0 26px rgba(233,84,91,.55))}to{clip-path:inset(-90% -90% -90% -90%);filter:drop-shadow(0 0 16px rgba(233,84,91,.28)) drop-shadow(0 4px 14px rgba(0,0,0,.4));scale:1;rotate:0deg}}@keyframes ct-ink-shimmer{0%,70%{background-position:120% 0}to{background-position:-20% 0}}html.ct-hero-go body.contact-page .contact-film-copy-hero .contact-film-body p,html.ct-hero-go body.contact-page .contact-film-copy-hero .contact-film-link,html.ct-hero-go body.contact-page .contact-hero-channels a,html.ct-hero-go body.contact-page .contact-film-locations>span{animation:ct-settle .82s cubic-bezier(.16,1,.3,1) both}html.ct-hero-go body.contact-page .contact-film-copy-hero .contact-film-body p:nth-child(1){animation-delay:.7s}html.ct-hero-go body.contact-page .contact-film-copy-hero .contact-film-body p:nth-child(2){animation-delay:.84s}html.ct-hero-go body.contact-page .contact-film-copy-hero .contact-film-link{animation-delay:.98s}html.ct-hero-go body.contact-page .contact-hero-channels a:nth-child(1){animation-delay:1.1s}html.ct-hero-go body.contact-page .contact-hero-channels a:nth-child(2){animation-delay:1.2s}html.ct-hero-go body.contact-page .contact-film-locations>span:nth-child(1){animation-delay:1.25s}html.ct-hero-go body.contact-page .contact-film-locations>span:nth-child(2){animation-delay:1.34s}html.ct-hero-go body.contact-page .contact-film-locations>span:nth-child(3){animation-delay:1.43s}@keyframes ct-settle{0%{opacity:0;translate:0 12px;filter:blur(6px)}to{opacity:1;translate:0 0;filter:blur(0)}}body.contact-page.contact-full-bleed-v3 .contact-film-link{position:relative}body.contact-page.contact-full-bleed-v3 .contact-film-link:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,210,200,.95),transparent) -40% 0 / 40% 100% no-repeat;opacity:0;pointer-events:none}body.contact-page.contact-full-bleed-v3 .contact-film-link:hover:after{opacity:1;animation:ct-underline-run 1.1s ease-out both}body.contact-page.contact-full-bleed-v3 .contact-film-link:hover i{width:64px}@keyframes ct-underline-run{to{background-position:140% 0}}body.contact-page.contact-full-bleed-v3 .contact-hero-channels a{position:relative}body.contact-page.contact-full-bleed-v3 .contact-hero-channels a strong{color:#ff7d6f;letter-spacing:.02em;text-shadow:0 0 18px rgba(255,110,96,.18);transition:color .26s ease,text-shadow .26s ease}body.contact-page.contact-full-bleed-v3 .contact-hero-channels a strong{background:linear-gradient(currentColor,currentColor) 0 100% / 0 1px no-repeat;padding-bottom:3px;transition:background-size .42s cubic-bezier(.22,1,.36,1),color .26s ease,text-shadow .26s ease}body.contact-page.contact-full-bleed-v3 .contact-hero-channels a:hover strong,body.contact-page.contact-full-bleed-v3 .contact-hero-channels a:focus-visible strong{color:#ffb0a5;text-shadow:0 0 22px rgba(255,120,104,.45);background-size:100% 1px}.ct-copy-hint{display:inline-block;margin-left:10px;padding:2px 8px;border:1px solid rgba(255,160,148,.35);border-radius:999px;color:#ffd2c8e6;font-size:11px;font-style:normal;font-weight:600;line-height:1.5;vertical-align:2px;opacity:0;translate:-4px 0;transition:opacity .24s ease,translate .32s cubic-bezier(.22,1,.36,1)}.contact-hero-channels a:hover .ct-copy-hint,.contact-hero-channels a:focus-visible .ct-copy-hint{opacity:1;translate:0 0}.contact-hero-channels a.is-copied .ct-copy-hint{border-color:#7fe0b080;color:#9ff0c7}.ct-toast{position:fixed;left:50%;bottom:max(28px,env(safe-area-inset-bottom,0px));z-index:200;padding:10px 16px;border-radius:999px;background:#f4f6f4f5;color:#0d1012;font-size:13px;font-weight:700;translate:-50% 12px;opacity:0;pointer-events:none;transition:opacity .24s ease,translate .36s cubic-bezier(.22,1,.36,1)}.ct-toast.is-shown{opacity:1;translate:-50% 0}body.contact-page.contact-full-bleed-v3 .contact-film-sequence article{position:relative;isolation:isolate;border-radius:14px;overflow:hidden}body.contact-page.contact-full-bleed-v3 .contact-film-sequence article:after{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;background:radial-gradient(260px circle at var(--ct-mx, 30%) var(--ct-my, 0%),rgba(255,255,255,.14),transparent 60%),linear-gradient(135deg,#ffffff17,#ffffff04 60%);border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px #ffffff29,0 18px 44px #00000052;-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);opacity:0;transition:opacity .38s ease;pointer-events:none}body.contact-page.contact-full-bleed-v3 .contact-film-sequence article:before{content:"";position:absolute;z-index:0;inset:0;border-radius:inherit;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.16) 48%,transparent 60%) -120% 0 / 60% 100% no-repeat;pointer-events:none;opacity:0}body.contact-page.contact-full-bleed-v3 .contact-film-sequence article:hover:after,body.contact-page.contact-full-bleed-v3 .contact-film-sequence article:focus-visible:after,body.contact-page.contact-full-bleed-v3 .contact-film-sequence article.is-active:after{opacity:1}body.contact-page.contact-full-bleed-v3 .contact-film-sequence article:hover:before{opacity:1;animation:ct-glass-sheen 1.1s ease-out both}@keyframes ct-glass-sheen{to{background-position:220% 0}}body.contact-page .contact-flow-prep{display:flex;flex-wrap:wrap;gap:4px 10px;margin:12px 0 0!important;padding-top:10px;border-top:1px dashed rgba(244,246,244,.16);font-size:12.5px!important;line-height:1.6!important;color:#f4f6f480;transition:color .32s ease}body.contact-page .contact-flow-prep b{color:#ffa89cb8;font-weight:600;transition:color .32s ease}body.contact-page .contact-film-sequence article.is-active .contact-flow-prep,body.contact-page .contact-film-sequence article:hover .contact-flow-prep{color:#f4f6f4c7}body.contact-page .contact-film-sequence article.is-active .contact-flow-prep b,body.contact-page .contact-film-sequence article:hover .contact-flow-prep b{color:#ffb2a6}body.contact-page .contact-china-map.is-revealing{-webkit-mask-image:linear-gradient(90deg,#000 42%,transparent 58%);mask-image:linear-gradient(90deg,#000 42%,transparent 58%);-webkit-mask-size:300% 100%;mask-size:300% 100%;animation:ct-map-wipe 1.7s cubic-bezier(.65,0,.35,1) both}@keyframes ct-map-wipe{0%{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}body.contact-page .contact-map-telemetry b{margin-right:8px;color:#fff;font-family:var(--font-tech, "Orbitron", monospace);font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}body.contact-page.contact-full-bleed-v3 .contact-film-office{position:relative;transition:transform .5s cubic-bezier(.22,1,.36,1)}body.contact-page.contact-full-bleed-v3 .contact-film-office:before{content:"";position:absolute;top:-1px;left:0;width:0;height:2px;background:linear-gradient(90deg,#e9545b,#e9545b00);transition:width .62s cubic-bezier(.22,1,.36,1)}body.contact-page.contact-full-bleed-v3 .contact-film-office:hover:before{width:64%}body.contact-page.contact-full-bleed-v3 .contact-film-office:hover{transform:translate3d(0,-4px,0)}body.contact-page .contact-office-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}body.contact-page .contact-office-actions button,body.contact-page .contact-office-actions a{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border:1px solid rgba(244,246,244,.16);border-radius:999px;background:#ffffff08;color:#f4f6f4d1;font:600 12px/1 var(--font-cn, "Noto Sans SC", sans-serif);text-decoration:none;cursor:pointer;transition:border-color .24s ease,background-color .24s ease,color .24s ease}body.contact-page .contact-office-actions button:hover,body.contact-page .contact-office-actions a:hover{border-color:#ff968a99;background:#e9545b1a;color:#fff}body.contact-page.contact-full-bleed-v3 .contact-film-qr img{transition:transform .52s cubic-bezier(.22,1,.36,1),box-shadow .52s ease;transform-origin:50% 85%}@media (hover: hover) and (pointer: fine){body.contact-page.contact-full-bleed-v3 .contact-film-qr{position:relative;z-index:4}body.contact-page.contact-full-bleed-v3 .contact-film-qr:hover img{transform:scale(2.1);box-shadow:0 0 0 6px #fff,0 22px 50px #0000008c;border-radius:4px}}body.contact-page .contact-routes-scene{position:relative;padding:clamp(96px,calc(13 * var(--vh1, 1vh)),150px) 0 clamp(70px,calc(10 * var(--vh1, 1vh)),120px);background:radial-gradient(48% 40% at 88% 0%,rgba(201,43,50,.1),transparent 66%),#070808;color:#f4f6f4f0}body.contact-page .contact-routes-layout{width:min(1240px,calc(100% - 10vw));margin:0 auto}body.contact-page .contact-routes-head{max-width:640px}body.contact-page .contact-routes-head h2{margin:12px 0 14px;font-size:var(--type-h2, 36px);font-weight:800;line-height:1.3}body.contact-page .contact-routes-head p:not(.contact-film-eyebrow){margin:0;color:#f4f6f49e;font-size:15px;line-height:1.8}body.contact-page .contact-routes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:clamp(36px,calc(6 * var(--vh1, 1vh)),60px)}body.contact-page .contact-route{position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;padding:26px 24px 22px;overflow:hidden;border:1px solid rgba(244,246,244,.11);border-radius:18px;background:linear-gradient(160deg,#ffffff0d,#ffffff03);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .52s cubic-bezier(.22,1,.36,1),border-color .4s ease}body.contact-page .contact-route:before{content:"";position:absolute;top:0;left:24px;width:0;height:2px;background:#e9545b;transition:width .62s cubic-bezier(.22,1,.36,1)}body.contact-page .contact-route:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(300px circle at var(--ct-mx, 50%) var(--ct-my, 0%),rgba(255,255,255,.11),transparent 60%);opacity:0;transition:opacity .32s ease;pointer-events:none}body.contact-page .contact-route-index{color:#f4f6f46b;font:700 11px/1.4 var(--font-mono, monospace);letter-spacing:.1em}body.contact-page .contact-route h3{margin:6px 0 0;font-size:22px;font-weight:800}body.contact-page .contact-route p{margin:0;color:#f4f6f49e;font-size:14px;line-height:1.7}body.contact-page .contact-route-attach{display:grid;gap:2px;margin-top:4px!important;padding-top:12px;border-top:1px dashed rgba(244,246,244,.14)}body.contact-page .contact-route-attach span{color:#f4f6f470;font-size:12px}body.contact-page .contact-route-attach b{color:#ffbab0db;font-size:13.5px;font-weight:600}body.contact-page .contact-route-pick{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;margin-top:auto;padding:12px 0 0;border:0;background:none;color:#f4f6f4e6;font:700 13.5px/1 var(--font-cn, "Noto Sans SC", sans-serif);cursor:pointer}body.contact-page .contact-route-pick i{position:relative;display:block;width:36px;height:1px;background:currentColor;transition:width .42s cubic-bezier(.22,1,.36,1)}body.contact-page .contact-route-pick i:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;rotate:45deg}body.contact-page .contact-route-pick:focus-visible{outline:2px solid rgba(201,43,50,.92);outline-offset:6px}@media (hover: hover) and (pointer: fine){body.contact-page .contact-route:hover{transform:translate3d(0,-6px,0);border-color:#f4f6f43d}body.contact-page .contact-route:hover:before{width:calc(100% - 48px)}body.contact-page .contact-route:hover:after{opacity:1}body.contact-page .contact-route:hover .contact-route-pick{color:#fff}body.contact-page .contact-route:hover .contact-route-pick i{width:56px}}body.contact-page .contact-thanks-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;margin-top:clamp(40px,calc(6 * var(--vh1, 1vh)),64px);padding-top:24px;border-top:1px solid rgba(244,246,244,.1)}body.contact-page .contact-thanks-strip p{margin:0;color:#f4f6f480;font-size:13px;letter-spacing:.04em}body.contact-page .contact-thanks-strip ul{display:flex;flex-wrap:wrap;gap:8px 30px;margin:0;padding:0;list-style:none}body.contact-page .contact-thanks-strip li{position:relative;color:#f4f6f4db;font-size:17px;font-weight:800;transition:color .28s ease}body.contact-page .contact-thanks-strip li+li:before{content:"";position:absolute;left:-17px;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:#e9545bb3}body.contact-page .contact-thanks-strip li:hover{color:#fff}body.contact-page .contact-purpose-option.ct-picked>span{animation:ct-pick .9s cubic-bezier(.22,1,.36,1)}@keyframes ct-pick{0%{box-shadow:0 0 #e9545b99}to{box-shadow:0 0 0 14px #e9545b00}}body.contact-page .contact-purpose-option>span{position:relative}body.contact-page .contact-purpose-option input:checked+span:after{content:"";position:absolute;top:14px;right:14px;width:11px;height:5px;border-left:2px solid #ff6f62;border-bottom:2px solid #ff6f62;rotate:-45deg;transform-origin:0 100%;animation:ct-check .36s cubic-bezier(.34,1.56,.64,1) both}@keyframes ct-check{0%{scale:.2;opacity:0}to{scale:1;opacity:1}}body.contact-page .contact-film-inquiry label:not(.contact-purpose-option):not(.contact-attach-drop){position:relative}body.contact-page .contact-film-inquiry label:not(.contact-purpose-option):not(.contact-attach-drop):after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,#e9545b,#e9545b33);scale:0 1;transform-origin:0 50%;transition:scale .52s cubic-bezier(.22,1,.36,1);pointer-events:none}body.contact-page .contact-film-inquiry label:not(.contact-purpose-option):not(.contact-attach-drop):focus-within:after{scale:1 1}body.contact-page .contact-film-inquiry .is-invalid{animation:ct-shake .36s ease}@keyframes ct-shake{25%{translate:-5px 0}75%{translate:5px 0}}body.contact-page .contact-attach{display:grid;gap:10px}body.contact-page .contact-attach-label{color:#f4f6f49e;font-size:12px}body.contact-page .contact-attach-label em{font-style:normal;color:#f4f6f461}body.contact-page .contact-attach-drop{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:16px 18px;border-radius:14px;background:linear-gradient(90deg,rgba(244,246,244,.28) 50%,transparent 50%) 0 0 / 12px 1px repeat-x,linear-gradient(90deg,rgba(244,246,244,.28) 50%,transparent 50%) 0 100% / 12px 1px repeat-x,linear-gradient(0deg,rgba(244,246,244,.28) 50%,transparent 50%) 0 0 / 1px 12px repeat-y,linear-gradient(0deg,rgba(244,246,244,.28) 50%,transparent 50%) 100% 0 / 1px 12px repeat-y,#ffffff06;cursor:pointer;transition:background-color .3s ease}body.contact-page .contact-attach-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}body.contact-page .contact-attach-drop svg{grid-row:1 / span 2;width:30px;height:30px;fill:none;stroke:#ffaa9ee6;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:translate .4s cubic-bezier(.34,1.56,.64,1)}body.contact-page .contact-attach-drop strong{color:#f4f6f4e6;font-size:13.5px;font-weight:700}body.contact-page .contact-attach-drop small{color:#f4f6f475;font-size:12px;margin-top:3px}body.contact-page .contact-attach-drop:hover,body.contact-page .contact-attach-drop.is-over,body.contact-page .contact-attach-drop:focus-within{background-color:#e9545b12;animation:ct-ants 1.2s linear infinite}body.contact-page .contact-attach-drop:hover svg,body.contact-page .contact-attach-drop.is-over svg{translate:0 -3px}body.contact-page .contact-attach-drop:focus-within{outline:2px solid rgba(201,43,50,.7);outline-offset:3px}@keyframes ct-ants{to{background-position:12px 0,-12px 100%,0 -12px,100% 12px,0 0}}body.contact-page .contact-attach-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}body.contact-page .contact-attach-list:empty{display:none}body.contact-page .contact-attach-list li{display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:6px 6px 6px 12px;border:1px solid rgba(244,246,244,.14);border-radius:999px;background:#ffffff0a;font-size:12.5px;animation:ct-settle .42s cubic-bezier(.16,1,.3,1) both}body.contact-page .contact-attach-list li span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px;color:#f4f6f4e6}body.contact-page .contact-attach-list li small{color:#f4f6f475;white-space:nowrap}body.contact-page .contact-attach-list li button{width:22px;height:22px;border:0;border-radius:50%;background:#ffffff14;color:#f4f6f4cc;cursor:pointer;font-size:14px;line-height:22px}body.contact-page .contact-attach-list li button:hover{background:#e9545b4d;color:#fff}body.contact-page .contact-attach-list li.is-error{border-color:#e9545b80;color:#ff9a90;padding-right:12px}body.contact-page.contact-full-bleed-v3 .contact-film-submit button{position:relative;overflow:hidden}body.contact-page.contact-full-bleed-v3 .contact-film-inquiry.is-submitting .contact-film-submit button:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.22) 50%,transparent 70%) -100% 0 / 60% 100% no-repeat;animation:ct-send-sweep 1.1s linear infinite;pointer-events:none}@keyframes ct-send-sweep{to{background-position:220% 0}}html.ct-motion body.contact-page .ct-rise{opacity:0;translate:0 20px;filter:blur(6px)}html.ct-motion body.contact-page .ct-rise.is-in{opacity:1;translate:0 0;filter:none;transition:opacity .76s ease,translate .86s cubic-bezier(.16,1,.3,1),filter .76s ease;transition-delay:var(--ct-delay, 0ms)}@media (max-width: 920px){body.contact-page .contact-routes-layout{width:calc(100% - 40px)}body.contact-page .contact-routes-grid{grid-template-columns:minmax(0,1fr)}body.contact-page .contact-thanks-strip{flex-direction:column;align-items:flex-start}body.contact-page .contact-routes-head h2{font-size:28px}}@media (prefers-reduced-motion: reduce){body.contact-page.contact-full-bleed-v3 .contact-hero-calligraphy,html.ct-hero-go body.contact-page.contact-full-bleed-v3 .contact-hero-calligraphy{animation:none;background-position:50% 0}html.ct-hero-go body.contact-page .contact-film-copy-hero .contact-film-body p,html.ct-hero-go body.contact-page .contact-film-copy-hero .contact-film-link,html.ct-hero-go body.contact-page .contact-hero-channels a,html.ct-hero-go body.contact-page .contact-film-locations>span{animation:none}body.contact-page .contact-china-map.is-revealing{animation:none;-webkit-mask-image:none;mask-image:none}body.contact-page .contact-attach-drop:hover,body.contact-page .contact-attach-drop.is-over{animation:none}}.ct-tb{display:inline-block}@media (min-width: 921px){.ct-tb{display:block;white-space:nowrap}}body.contact-page .contact-film-network{background:linear-gradient(90deg,#e8ebe8fa,#e8ebe8d1 46%,#e8ebe8f0),url(./assets/engineering-split/package-layout.webp) center / cover no-repeat}body.contact-page .contact-film-network:before{background:url(./assets/engineering-split/package-layout.webp) 58% 48% / cover no-repeat}
