/* Full-bleed photographic homepage. All hero layout rules live here. */
.hero{height:clamp(580px,50vw,860px);position:relative;overflow:hidden;background:#202720;color:#fff;overflow-anchor:none}
#hero-stage{height:100%;position:relative;touch-action:pan-y pinch-zoom;cursor:grab;isolation:isolate}
#hero-stage.is-dragging{cursor:grabbing;user-select:none}
#hero-stage:focus-visible{outline:2px solid var(--acid);outline-offset:-4px}
.hero-slide{position:absolute;inset:0;height:100%;visibility:hidden;overflow:hidden;background:#202720;will-change:transform;backface-visibility:hidden}
.hero-slide.is-active{visibility:visible}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;user-select:none;-webkit-user-drag:none}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,19,13,.38),transparent 65%)}
.hero-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:15px 0 55px;pointer-events:none}
.hero-content a{pointer-events:auto}
.hero-kicker{font:11px/1.5 Arial,sans-serif;letter-spacing:2.8px;margin:0 0 25px;color:#fff}
.hero-slide h1{font:italic 800 clamp(54px,5.7vw,92px)/1.01 Arial,sans-serif;letter-spacing:-3.5px;max-width:49%;margin:0;color:#fff;text-wrap:balance}
.hero-slide h1 span{color:#fff}
.hero-sub,html[lang=en] .hero-sub{font-size:17px;font-weight:400;letter-spacing:.3px;line-height:1.8;margin-top:24px;max-width:39%;color:#f4f5f0}
.hero-actions{display:flex;flex-direction:row;align-items:center;gap:12px;margin-top:34px}
.hero-actions .btn{border-radius:0;min-height:50px;padding:0 25px;font-size:12px;letter-spacing:.5px;gap:32px}
.hero-actions .outline{border:1px solid #ffffff9c;color:#fff;background:#101c1422}
.hero-actions .outline:hover{background:#ffffff18}
.hero-controls{position:absolute;z-index:2;bottom:25px;right:max(56px,calc((100% - 1320px)/2));display:flex;align-items:center;gap:20px;color:#fff;background:transparent;border-radius:0;padding:0;backdrop-filter:none}
#hero-autoplay{font:15px Arial}
.hero-controls .slide-arrows button{border-color:#ffffff80}
.hero-controls .slide-dots button[aria-pressed=true] span{background:#fff}
/* Show the supplied mark without altering its original proportions or artwork. */
.logo{position:relative;display:block;width:160px;height:62px;flex:none;overflow:hidden;mix-blend-mode:multiply}
.logo img{position:absolute;width:200px;height:200px;max-width:none;left:-20px;top:-69px;object-fit:contain}
@media(max-width:1100px) and (min-width:701px){
.hero{height:590px}.hero-content{padding-bottom:35px}.hero-slide h1{font-size:58px;max-width:52%;letter-spacing:-2.5px}.hero-sub,html[lang=en] .hero-sub{font-size:15px;max-width:40%}.hero-controls{right:32px}
}
@media(max-width:700px){
.hero{height:690px;min-height:620px;max-height:none}
.hero-bg{height:440px;object-position:100% top}
.hero-photo-0 .hero-bg{object-position:84% top}
.hero-photo-1 .hero-bg{object-position:100% top}
.hero-photo-2 .hero-bg{object-position:100% top}
.hero-shade{background:linear-gradient(180deg,transparent 22%,rgba(16,27,19,.15) 40%,#101b13 64%,#101b13 100%)}
.hero-content{justify-content:flex-end;padding:0 0 95px;width:calc(100% - 40px)}
.hero-kicker{font-size:9px;letter-spacing:2px;margin-bottom:14px}
.hero-slide h1{font-size:46px;max-width:100%;letter-spacing:-2px;line-height:1.02}
.hero-sub,html[lang=en] .hero-sub{font-size:14px;max-width:100%;margin-top:15px;line-height:1.6}
.hero-actions{margin-top:23px;gap:10px;flex-wrap:nowrap}
.hero-actions .btn{min-height:46px;font-size:11px;padding:0 19px;gap:23px}
.hero-controls{left:20px;right:20px;bottom:23px;justify-content:space-between;gap:10px}
.hero-controls .slide-number{margin-right:0}.hero-controls .slide-arrows{gap:8px}
.logo{width:128px;height:50px}.logo img{width:160px;height:160px;left:-16px;top:-55px}
}
@media(prefers-reduced-motion:reduce){.hero-slide{will-change:auto}}

/* Quiet autoplay canvas: swipe, drag, horizontal trackpad or keyboard to browse. */
html[lang=zh-CN] .hero-slide:not(.hero-photo-0) h1{font-style:normal;letter-spacing:-2px;line-height:1.15}
@media(max-width:700px){.hero-content{padding-bottom:62px}}
