/* AYA contact scene: ordinary links remain usable before enhancement. */
.home-contact{--hc-height:100vh;--hc-bg:var(--velvet,#46101a);--hc-paper:var(--bone-2,#f4f3f1);--hc-gold:var(--bone-2,#f4f3f1);--bg:var(--hc-bg);position:relative;isolation:isolate;background:var(--hc-bg);color:var(--hc-paper);min-height:640px}
@supports(height:100svh){.home-contact{--hc-height:100svh}}
.hc-scene{height:max(640px,var(--hc-height));position:relative;overflow:hidden;isolation:isolate;background:var(--hc-bg)}
.home-contact[data-hc-ready="true"]{height:calc(var(--hc-height)*3.6);min-height:0}
.home-contact[data-hc-ready="true"] .hc-scene{position:sticky;top:0;height:var(--hc-height);min-height:0}
.hc-canvas,.hc-still{position:absolute;inset:0;width:100%;height:100%;pointer-events:none!important;user-select:none}
.hc-canvas{z-index:0;contain:strict}
.hc-canvas[hidden]{display:none}
.hc-touch-surface{display:none}
/* A local two-dimensional play area. Copy, links and side gutters retain native
   scrolling; no touch-action override is applied to the full sticky scene. */
@media(any-pointer:coarse){.home-contact[data-hc-ready="true"] .hc-touch-surface{display:block;position:absolute;z-index:1;top:16%;bottom:0;left:0;right:0;touch-action:none;user-select:none;-webkit-user-select:none}
 /* The kicker and title sit above the surface across the middle of the stage, right over
    the crest of the bed. Left hittable, a finger landing there belongs to iOS, which
    swallows the whole gesture. On a finger the CONTACT AYA pill below carries the link. */
 .home-contact[data-hc-ready="true"] .hc-copy{pointer-events:none}}
.hc-canvas--gl{z-index:0;will-change:transform}
.hc-still{top:auto;height:28%;color:var(--hc-paper);fill:currentColor;opacity:.93}
.hc-still__gold{fill:currentColor}
.home-contact[data-hc-ready="true"] .hc-still{display:none}
.hc-copy{position:absolute;z-index:2;left:var(--gutter,24px);right:var(--gutter,24px);top:max(calc(var(--header-h,84px) + 30px),17%);text-align:center;transform-origin:center top}
.hc-kicker{max-width:46ch;margin:0 auto 27px;font-family:var(--sans);font-size:clamp(10px,.82vw,13px);font-weight:500;line-height:1.65;letter-spacing:.15em;text-wrap:balance}
.hc-title{margin:0;font-family:var(--serif);font-size:clamp(52px,min(9.5vw,16.7svh),154px);font-weight:400;line-height:1.03;letter-spacing:.005em}
.hc-title__link{display:inline-block;color:inherit;text-decoration:none;outline-offset:12px}
.hc-title__line{display:block;position:relative;width:fit-content;margin:0 auto;white-space:nowrap}
.hc-title__line::after{content:"";position:absolute;left:.04em;right:.025em;bottom:.015em;height:.04em;min-height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.35,0,0,1)}
.hc-title__line:nth-child(2)::after{transition-delay:.12s}
.hc-title__link:hover .hc-title__line::after,.hc-title__link:focus-visible .hc-title__line::after{transform:scaleX(1)}
.hc-char{display:inline-block;height:1.26em;vertical-align:bottom;overflow:hidden}
.hc-char__track{display:flex;flex-direction:column;line-height:1.26em;transform:translateY(0)}
.hc-char__track>span{height:1.26em;flex:none}
.hc-char[data-hc-roll] .hc-char__track{animation:hc-character-roll 1.1s cubic-bezier(.35,0,0,1) both}
@keyframes hc-character-roll{to{transform:translateY(-50%)}}
.hc-cta{position:absolute;z-index:2;left:50%;bottom:50px;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:56px;min-width:224px;padding:12px 25px;border:1px solid var(--hc-paper);border-radius:999px;font-family:var(--sans);font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.11em;text-transform:uppercase;color:var(--hc-bg);text-decoration:none;background:var(--hc-paper);transition:background-color .25s,color .25s,box-shadow .25s;outline-offset:6px;white-space:nowrap}
.hc-cta svg{width:23px;height:23px;flex:none;transition:transform .3s}
.hc-cta:hover,.hc-cta:focus-visible{background:#fff;color:var(--hc-bg);box-shadow:0 3px 22px #1f070b24}
.hc-cta:hover svg{transform:translateX(3px)}
.hc-mark{position:absolute;top:22%;z-index:1;width:20px;height:45px;background:var(--hc-gold);mask:url('/assets/img/aya-card-mark.svg') center/contain no-repeat;-webkit-mask:url('/assets/img/aya-card-mark.svg') center/contain no-repeat;pointer-events:none}
.hc-mark--one{left:8%}.hc-mark--two{right:8%}
@media(max-width:812px){.home-contact[data-hc-ready="true"]{height:calc(var(--hc-height)*3.2)}.hc-copy{top:max(calc(var(--header-h,84px) + 25px),22%)}.hc-title{font-size:clamp(45px,16vw,104px)}.hc-kicker{font-size:10px;max-width:39ch;margin-bottom:24px;letter-spacing:.12em}.hc-cta{font-size:11px;min-height:54px;bottom:28px;min-width:220px}.hc-mark{top:20%;width:16px;height:36px}.hc-mark--one{left:6%}.hc-mark--two{right:6%}}
@media(max-width:380px){.hc-title{font-size:16vw}.hc-copy{left:18px;right:18px}.hc-kicker{font-size:9px}}
@media(max-height:560px){.hc-scene{height:650px}.hc-copy{top:100px}.hc-title{font-size:clamp(48px,9vw,95px)}}
@media(max-height:560px) and (hover:none),(max-height:560px) and (pointer:coarse){.home-contact[data-hc-ready="true"] .hc-copy{top:max(calc(var(--header-h,84px) + 12px),20%)}.home-contact[data-hc-ready="true"] .hc-title{font-size:clamp(32px,12svh,62px)}.home-contact[data-hc-ready="true"] .hc-kicker{font-size:9px;margin-bottom:8px}.home-contact[data-hc-ready="true"] .hc-cta{min-height:44px;bottom:16px}.home-contact[data-hc-ready="true"] .hc-mark{top:35%;height:30px}}
@media screen and (any-pointer:coarse) and (prefers-reduced-motion:no-preference){.home-contact[data-hc-ready="true"]{height:calc(var(--hc-height)*1.8)}}
@media(prefers-reduced-motion:reduce){.home-contact[data-hc-ready="true"]{height:auto;min-height:640px}.home-contact[data-hc-ready="true"] .hc-scene{position:relative;height:max(640px,var(--hc-height))}.hc-canvas{display:none!important}.home-contact[data-hc-ready="true"] .hc-still{display:block}.hc-char__track,.hc-title__line::after,.hc-cta,.hc-cta svg{animation:none!important;transition:none!important}.hc-char__track{transform:none!important}.hc-title__line::after{display:none}}
@media print{.home-contact,.home-contact[data-hc-ready="true"]{height:auto;min-height:0;background:#fff;color:#46101a;break-inside:avoid}.hc-scene,.home-contact[data-hc-ready="true"] .hc-scene{position:relative;height:auto;min-height:0;overflow:visible;background:none;padding:60px 20px}.hc-copy{position:relative;inset:auto;transform:none!important}.hc-title{font-size:48px}.hc-canvas,.hc-still,.hc-mark{display:none!important}.hc-cta{position:relative;left:auto;bottom:auto;display:flex;width:fit-content;margin:24px auto 0;transform:none;background:none;color:inherit}.hc-char__track{animation:none!important;transform:none!important}}

.hc-title__line+.hc-title__line{margin-top:-.32em}

/* 2026-09-10 v2 · copy enters as the stage activates (data-hc-active), every word
   rolls one glyph every two seconds (home-contact.js), the CTA label rolls on hover. */
.js .home-contact[data-hc-ready="true"] .hc-char__track>span{transform:translateY(110%);transition:transform .7s cubic-bezier(.2,.8,.2,1) var(--d,0s)}
.js .home-contact[data-hc-ready="true"][data-hc-active="true"] .hc-char__track>span{transform:none}
.hc-char[data-hc-roll] .hc-char__track{animation-duration:1s;animation-delay:calc(var(--hc-word,0)*.1s)}
.hc-word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.hc-word__glyph{display:inline-block}
.js .home-contact[data-hc-ready="true"] .hc-word__glyph{transform:translateY(130%) rotate(14deg);transform-origin:0 100%;transition:transform .75s cubic-bezier(.2,.8,.2,1) var(--d,0s)}
.js .home-contact[data-hc-ready="true"][data-hc-active="true"] .hc-word__glyph{transform:none}
.js .home-contact[data-hc-ready="true"] .hc-mark{transform:scale(0) rotate(0deg);transition:transform .7s cubic-bezier(.2,.8,.2,1) var(--d,0s)}
.js .home-contact[data-hc-ready="true"][data-hc-active="true"] .hc-mark{transform:scale(1) rotate(360deg)}
.hc-cta__clip{display:block;overflow:hidden;height:1.5em}
.hc-cta__track{display:flex;flex-direction:column;transition:transform .5s cubic-bezier(.35,0,0,1)}
.hc-cta__track>span{display:block;height:1.5em}
.hc-cta:hover .hc-cta__track,.hc-cta:focus-visible .hc-cta__track{transform:translateY(-50%)}
@media(prefers-reduced-motion:reduce){.hc-char__track>span,.hc-word__glyph,.hc-mark,.hc-cta__track{transform:none!important;transition:none!important}}
@media print{.hc-char__track>span,.hc-word__glyph{transform:none!important}}

/* 2026-09-14 · 收尾：舞台就是文档的结尾，站点页脚作为一块面板盖上来（home-endgame.js
   设置这些属性，脚本不跑时下面一条都不生效，页面保持原来的滚动页脚）。 */
html[data-aya-endgame="on"] .home-contact[data-hc-ready="true"]{height:var(--hc-height);min-height:0}
html[data-aya-endgame="on"] .footer{position:fixed;left:0;right:0;top:100%;bottom:auto;z-index:120;transform:translate3d(0,0,0);will-change:transform}
html[data-aya-veil="up"] .footer{box-shadow:0 -26px 70px #12060980}
@media(any-pointer:coarse){html[data-aya-endgame="on"] .footer{touch-action:none}}
html[data-aya-endgame="on"] .hc-cta{bottom:108px}
@media(max-width:812px){html[data-aya-endgame="on"] .hc-cta{bottom:88px}}
.hc-continue{position:absolute;z-index:3;left:50%;bottom:26px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:9px;padding:10px 18px;border:1px solid #f4f3f159;border-radius:999px;background:#46101aeb;color:var(--hc-paper);font-family:var(--sans);font-size:9.5px;font-weight:600;line-height:1;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:opacity .45s}
.hc-continue span{display:block;animation:hc-nudge 2.6s ease-in-out infinite}
@keyframes hc-nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(3px)}}
html[data-aya-veil="up"] .hc-continue{opacity:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){.hc-continue{display:none}}
@media print{html[data-aya-endgame="on"] .footer{position:static;top:auto;transform:none;box-shadow:none;z-index:auto}html[data-aya-endgame="on"] .home-contact[data-hc-ready="true"]{height:auto}.hc-continue{display:none}}
