/* ═══════════════ HELLO CHEESE 官网 v2 · 参考片配色骨架 ═══════════════
   近黑 #0E0D11 / 银铬金属巨字 / 纯白功能板 / 紫粉渐变只做 CTA 点缀
   字体: Anton(OFL) 拉丁巨字 + 思源黑体 Heavy 子集(OFL) 中日粗标  */

@font-face{font-family:"HCDisplay";src:url("../assets/fonts/Anton-subset.woff2") format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:"HCHeavyCJK";src:url("../assets/fonts/SHS-Heavy-subset.woff2") format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:"HCBrandCJKBlack";src:url("../assets/fonts/NotoSansSC-Black-HelloCheese.ttf") format("truetype");font-weight:900;font-display:swap}

:root{
  /* 官方 VIS 标准色: 信号黄/照相黑/茄紫(仅IP)/叶橄榄/奶油/纸白 */
  --night:#070709; --night2:#17151C; --card:#1A1721;
  --paper:#FFFDF4; --paper2:#F4F1E6;
  --ink:#070709; --ink-soft:#5E5A66; --mist:#B9B4C2;
  --yellow:#FFD200; --yellow-hi:#FFE04D; --yellow-lo:#F5B400;
  --eggplant:#7B45D9; --leaf:#A7A039; --cream:#FFE0AE;
  --grad-cta:linear-gradient(180deg,#FFE04D 0%,#FFD200 55%,#F5B400 120%);
  --chrome:linear-gradient(180deg,#FFFFFF 0%,#E3E3E8 30%,#9A9AA4 68%,#5F5F69 100%);
  --disp:"HCDisplay","HCHeavyCJK",-apple-system,"SF Pro Display","PingFang SC","Apple SD Gothic Neo","Hiragino Sans",system-ui,sans-serif;
  --body:-apple-system,"SF Pro Text","PingFang SC","Apple SD Gothic Neo","Hiragino Sans",system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--night);color:#fff;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
section{position:relative}

/* ── 导航(常驻暗玻璃) ── */
.nav{position:fixed;inset:0 0 auto 0;z-index:90;display:flex;align-items:center;gap:26px;
  padding:14px 4vw;transition:background .35s,box-shadow .35s}
.nav.scrolled{background:rgba(14,13,17,.72);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.nav-logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:16px;letter-spacing:.06em;color:#fff}
.nav-logo img{width:34px;height:34px;border-radius:9px}
.nav-links{display:flex;gap:30px;margin-left:auto;font-size:13px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.nav-links a{color:rgba(255,255,255,.72);transition:color .2s}
.nav-links a:hover{color:#fff}
.lang-switch{display:flex;gap:4px;background:rgba(255,255,255,.1);border-radius:999px;padding:4px}
.lang-switch button{border:0;background:transparent;font:800 12px/1 var(--body);padding:7px 11px;border-radius:999px;cursor:pointer;color:rgba(255,255,255,.65)}
.lang-switch button.on{background:#fff;color:var(--ink)}

/* ── CTA 胶囊(全站唯一实色, 信号黄) ── */
.cta-pill{display:inline-block;background:var(--grad-cta);color:#070709;font-weight:900;font-size:14px;
  letter-spacing:.14em;padding:15px 36px;border-radius:999px;border:0;cursor:pointer;
  box-shadow:0 10px 30px rgba(255,210,0,.38);transition:transform .25s,box-shadow .25s}
.cta-pill:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 16px 40px rgba(255,210,0,.5)}
.pill-ghost{font-size:12px;font-weight:800;letter-spacing:.16em;padding:11px 22px;border-radius:999px;
  border:1.5px solid rgba(255,255,255,.4);color:#fff;white-space:nowrap;transition:background .2s}
.pill-ghost:hover{background:rgba(255,255,255,.1)}

/* ── 银铬金属巨字(通用) ── */
.giant-title{font-family:var(--disp);font-weight:400;
  font-size:clamp(46px,9vw,124px);letter-spacing:.01em;line-height:1;
  text-align:center;text-transform:uppercase;
  background:var(--chrome);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 8px 26px rgba(0,0,0,.55))}
/* 中文标题和动作词统一走完整字库的 Black 字重，乐/得/分享不再掉回系统细体。 */
body[data-lang="zh"] .giant-title,
body[data-lang="zh"] .steps-kicker,
body[data-lang="zh"] .steps-row b{font-family:"HCBrandCJKBlack","Hiragino Sans GB",var(--body);font-weight:900;letter-spacing:-.055em}

/* ═══ 首屏(近黑 + 蓝橙边光托真实设备) ═══ */
.hero{min-height:100vh;display:grid;place-items:center;padding:0 4vw;
  background:
    radial-gradient(42vw 38vw at 42% 51%, rgba(30,118,255,.15) 0%, rgba(30,118,255,0) 64%),
    radial-gradient(36vw 36vw at 61% 53%, rgba(255,158,65,.13) 0%, rgba(255,158,65,0) 64%),
    radial-gradient(70vw 50vw at 50% 110%, rgba(255,210,0,.10) 0%, rgba(255,210,0,0) 60%),
    var(--night);
  overflow:hidden}
.hero-title{position:absolute;top:13vh;left:0;right:0;z-index:3;text-align:center;
  font-family:var(--disp);font-weight:400;text-transform:uppercase;
  font-size:clamp(56px,11.2vw,176px);line-height:.94;letter-spacing:.012em;
  background:var(--chrome);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 12px 40px rgba(0,0,0,.6))}
.hero-line{display:inline}
.hero-line2{letter-spacing:.03em;margin-left:.22em}
.hero-product{position:absolute;z-index:2;left:calc(50% - min(20vw,260px));top:31vh;bottom:auto;width:min(40vw,520px);
  will-change:transform;cursor:grab}
.hero-product:active{cursor:grabbing}
.hm-idle{display:block;width:100%;height:auto;pointer-events:none;filter:drop-shadow(0 24px 34px rgba(0,0,0,.5));
  animation:mascotIdle 4.8s ease-in-out infinite}
@keyframes mascotIdle{0%,100%{transform:translateY(0) rotateZ(0)}50%{transform:translateY(-4px) rotateZ(.15deg)}}

/* 首屏漂浮小物: 外层容器吃 JS 视差, 内层 img 吃 CSS 浮动自转 */
.hfloat{position:absolute;z-index:2;pointer-events:none;will-change:transform;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.55))}
.hfloat img{width:100%;animation:hfDrift 6.4s ease-in-out infinite}
.hf-camera{width:clamp(96px,9.5vw,158px);right:12vw;top:23vh}
.hf-camera img{animation-duration:7.2s}
.hf-polaroid{width:clamp(86px,8.5vw,140px);left:11vw;top:20vh}
.hf-polaroid img{animation-delay:-2.1s}
.hf-star{width:clamp(62px,6vw,98px);left:16vw;bottom:17vh}
.hf-star img{animation:hfSpin 16s linear infinite}
.hf-checker{width:clamp(66px,6.6vw,108px);right:15vw;bottom:21vh}
.hf-checker img{animation-delay:-4.4s;animation-duration:5.6s}
@keyframes hfDrift{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-16px) rotate(6deg)}}
@keyframes hfSpin{0%{transform:rotate(0)}50%{translate:0 -12px}100%{transform:rotate(360deg)}}
.hero-tag{position:absolute;left:4vw;bottom:6vh;z-index:3;font-size:12.5px;font-weight:700;
  width:25vw;max-width:360px;letter-spacing:.2em;line-height:2;text-transform:uppercase;color:var(--mist)}
.hero-cta{position:absolute;right:4vw;bottom:6vh;z-index:3}
.hero-scrollhint{position:absolute;left:50%;bottom:3.4vh;transform:translateX(-50%);z-index:3;
  width:24px;height:38px;border:2px solid rgba(255,255,255,.3);border-radius:14px}
.hero-scrollhint span{position:absolute;left:50%;top:7px;width:4px;height:8px;margin-left:-2px;
  border-radius:2px;background:#fff;animation:scrollDot 1.6s infinite}
@keyframes scrollDot{0%{transform:translateY(0);opacity:1}70%{transform:translateY(12px);opacity:0}100%{opacity:0}}

/* ═══ 软件内置模板走马灯：完整画布展示，标题不覆盖模板 ═══ */
.wall{background:var(--night);padding:14vh 0 12vh;overflow:hidden}
.marquee{overflow:hidden;padding:3vh 0}
.marquee-track{display:flex;align-items:center;gap:26px;width:max-content;will-change:transform}
.shot-card{margin:0;flex:none;display:grid;gap:12px}
.shot-card--wide{width:clamp(375px,33vw,495px)}
.shot-card--template{width:clamp(140px,12.3vw,184px)}
.shot-card--product{width:clamp(188px,16.5vw,248px)}
.shot-card-art{height:clamp(250px,22vw,330px);border-radius:18px;overflow:hidden;background:#141117;
  border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 44px rgba(0,0,0,.55)}
.shot-card img{width:100%;height:100%}
.shot-card-art--cover img{object-fit:cover}
.shot-card-art--contain{background:
  radial-gradient(circle at 25% 40%,rgba(35,117,255,.24),transparent 44%),
  radial-gradient(circle at 78% 60%,rgba(255,157,72,.18),transparent 44%),#111015}
.shot-card-art--contain img{object-fit:contain;padding:12px}
.shot-card-label{padding-left:2px;font-size:11px;font-weight:800;letter-spacing:.16em;
  color:rgba(255,255,255,.88);text-transform:uppercase}

/* 漂浮小物(黄金点缀) */
.floater{position:absolute;z-index:5;will-change:transform;pointer-events:none;filter:drop-shadow(0 16px 30px rgba(0,0,0,.5))}
.f-star1{left:11vw;bottom:12vh;width:64px;height:64px;background:var(--yellow-hi);
  clip-path:polygon(50% 0,63% 36%,100% 39%,71% 62%,81% 100%,50% 77%,19% 100%,29% 62%,0 39%,37% 36%);
  animation:spinFloat 11s linear infinite}
.f-heart1{right:12vw;top:9vh;width:56px;height:52px;background:#FFE0AE;
  clip-path:path('M28 48 C10 34 0 24 0 14 C0 5 7 0 14 0 C20 0 26 4 28 9 C30 4 36 0 42 0 C49 0 56 5 56 14 C56 24 46 34 28 48Z');
  animation:bob 4.6s .4s ease-in-out infinite}
.f-disc1{left:48vw;top:4vh;width:44px;height:44px;border-radius:50%;
  background:radial-gradient(circle at 32% 30%,#FFD87A,#E7A93C 58%,#8a5f14);animation:bob 5.8s 1.1s ease-in-out infinite}
@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -16px}}
@keyframes spinFloat{0%{transform:rotate(0);translate:0 0}50%{translate:0 -14px}100%{transform:rotate(360deg);translate:0 0}}

/* ═══ SNAP·PRINT·SHARE 奶油band(官方IP姿势条) ═══ */
.steps{background:var(--paper2);color:var(--ink);text-align:center;padding:11vh 6vw 12vh;overflow:hidden}
.steps-kicker{font-family:var(--disp);font-size:clamp(30px,5vw,64px);text-transform:uppercase;
  letter-spacing:.02em;color:var(--ink);margin-bottom:4vh;text-shadow:3px 3px 0 var(--yellow)}
.steps-poses{width:min(92vw,1000px);margin:0 auto 2vh}
.steps-row{list-style:none;display:flex;justify-content:center;gap:clamp(20px,6vw,90px);flex-wrap:wrap;max-width:1000px;margin:0 auto}
.steps-row li{display:flex;flex-direction:column;align-items:center;gap:6px}
.steps-row b{font-family:var(--disp);font-size:clamp(20px,3vw,34px);letter-spacing:.03em;
  color:var(--ink);position:relative;padding-bottom:8px}
.steps-row b::after{content:"";position:absolute;left:50%;bottom:0;width:34px;height:5px;margin-left:-17px;background:var(--yellow);border-radius:3px}
.steps-row span{font-size:13.5px;font-weight:700;color:var(--ink-soft)}

/* ═══ 为什么(逐词点亮) ═══ */
.about{background:var(--night);text-align:center;padding:4vh 8vw 18vh}
.about .giant-title{margin-bottom:7vh}
.about-reveal{max-width:820px;margin:0 auto 7vh;font-size:clamp(17px,2.2vw,25px);font-weight:700;line-height:2.05}
.about-reveal .w{color:rgba(255,255,255,.14);transition:color .18s linear}
.about-reveal .w.lit{color:#fff}

/* ═══ 纯白滑盖:核心功能(参考片 SERVICES 同款) ═══ */
.features{background:var(--paper);color:var(--ink);border-radius:44px 44px 0 0;margin-top:-44px;z-index:6;
  padding:12vh 8vw 14vh;box-shadow:0 -30px 60px rgba(0,0,0,.45)}
.features-title{font-family:var(--disp);font-weight:400;text-transform:uppercase;
  font-size:clamp(52px,10vw,132px);text-align:center;color:var(--ink);
  letter-spacing:.01em;line-height:1;margin-bottom:10vh}
.feature-list{list-style:none;max-width:900px;margin:0 auto}
.feature-item{display:flex;gap:5vw;padding:5.4vh 0;border-bottom:1px solid rgba(18,16,20,.1);
  opacity:0;transform:translateY(46px);transition:opacity .7s ease,transform .7s ease}
.feature-item.vis{opacity:1;transform:none}
.fnum{font-family:var(--disp);font-size:clamp(50px,7.4vw,92px);font-weight:400;line-height:.92;
  color:var(--ink);min-width:2.1ch}
.feature-item h3{font-size:clamp(17px,2.1vw,23px);font-weight:900;letter-spacing:.04em;margin-bottom:10px;color:var(--ink)}
.feature-item p{font-size:clamp(13.5px,1.5vw,16px);line-height:1.9;color:var(--ink-soft);max-width:560px}

/* ═══ iPad 软件能力：由真实 SwiftUI 功能拆成可编辑界面特写 ═══ */
.software{background:#0B0A0E;color:#fff;padding:14vh 6vw 15vh;overflow:hidden}
.software::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(55vw 34vw at 8% 22%,rgba(123,69,217,.19),transparent 68%),
    radial-gradient(52vw 32vw at 92% 78%,rgba(255,210,0,.12),transparent 66%)}
.software-heading{position:relative;z-index:1;width:min(92vw,1120px);margin:0 auto 8vh;display:grid;
  grid-template-columns:1.1fr .9fr;gap:28px;align-items:end}
.software-heading .eyebrow{grid-column:1/-1;color:var(--yellow);font-size:12px;font-weight:900;
  letter-spacing:.24em;text-transform:uppercase}
.software-heading h2{font-family:var(--disp);font-size:clamp(48px,8vw,112px);font-weight:400;line-height:.96;
  text-transform:uppercase;letter-spacing:.01em}
body[data-lang="zh"] .software-heading h2{font-family:"HCBrandCJKBlack",var(--body);font-size:clamp(42px,5.4vw,76px);
  font-weight:900;line-height:1.08;letter-spacing:-.06em}
.software-heading>p:last-child{color:rgba(255,255,255,.63);font-size:clamp(14px,1.4vw,17px);line-height:1.95;max-width:480px}
.software-board{position:relative;z-index:1;width:min(94vw,1120px);margin:0 auto;display:grid;
  grid-template-columns:1.05fr .95fr;gap:18px}
.ui-panel{position:relative;overflow:hidden;border-radius:28px;padding:28px;background:#F8F6F0;color:var(--ink);
  border:1px solid rgba(255,255,255,.16);box-shadow:0 24px 70px rgba(0,0,0,.35)}
.ui-panel::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}
.ui-schedule{grid-column:1;min-height:360px;background:linear-gradient(145deg,#FFFDF6,#FFF3C8)}
.ui-camera{grid-column:2;grid-row:1 / span 2;padding:18px;background:#19171E;color:#fff;min-height:660px}
.ui-beauty{grid-column:1;min-height:282px;background:linear-gradient(145deg,#F9F3FF,#FFFDF8)}
.ui-template,.ui-delivery{min-height:300px}
.ui-template{background:linear-gradient(145deg,#F6F2FF,#EFE8FF)}
.ui-delivery{background:linear-gradient(145deg,#FFF9E4,#F8F6F0)}
.ui-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;font-size:12px;
  font-weight:900;letter-spacing:.17em;text-transform:uppercase;color:var(--ink-soft)}
.ui-topline b{font-family:var(--disp);font-size:18px;color:var(--ink)}
.ui-camera .ui-topline{color:rgba(255,255,255,.6)}
.ui-camera .ui-topline b{color:var(--yellow)}
.ui-panel h3{font-size:clamp(21px,2.6vw,34px);line-height:1.24;margin-bottom:22px;letter-spacing:-.025em}
.event-row{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;padding:15px 0;
  border-top:1px solid rgba(8,7,9,.09)}
.event-row i{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fff;font-style:normal;
  font-family:var(--disp);font-size:21px;box-shadow:0 8px 18px rgba(40,30,10,.08)}
.event-row div{display:grid;gap:4px}.event-row strong{font-size:14px}.event-row small{color:var(--ink-soft);line-height:1.45}
.event-row>span{font-size:10px;font-weight:900;background:var(--yellow);padding:7px 10px;border-radius:999px;white-space:nowrap}
.camera-preview{position:relative;height:590px;border-radius:20px;overflow:hidden;background:#111}
.camera-preview img{width:100%;height:100%;object-fit:cover;object-position:center}
.camera-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.16),transparent 32%,transparent 70%,rgba(0,0,0,.48))}
.focus-box{position:absolute;z-index:2;left:50%;top:43%;width:92px;height:92px;transform:translate(-50%,-50%);
  border:2px solid var(--yellow);border-radius:8px;box-shadow:0 0 0 1px rgba(0,0,0,.2)}
.camera-status{position:absolute;z-index:3;left:16px;top:14px;display:flex;gap:8px}
.camera-status span{font:800 11px/1 var(--body);padding:7px 9px;border-radius:999px;background:rgba(0,0,0,.48);backdrop-filter:blur(8px)}
.shutter-button{position:absolute;z-index:3;left:50%;bottom:20px;width:64px;height:64px;transform:translateX(-50%);
  border-radius:50%;background:#fff;border:5px solid rgba(255,255,255,.38);box-shadow:0 0 0 3px rgba(0,0,0,.55)}
.beauty-control{display:grid;grid-template-columns:52px 1fr 30px;align-items:center;gap:11px;margin:15px 0;
  font-size:12px;font-weight:800;color:var(--ink-soft)}
.beauty-control i{height:7px;border-radius:999px;background:rgba(20,18,25,.08);overflow:hidden}
.beauty-control i b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--eggplant),#E7A7FF)}
.beauty-control em{font-style:normal;text-align:right;color:var(--eggplant)}
.filter-chips,.delivery-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.filter-chips span,.delivery-meta span{font-size:11px;font-weight:800;padding:8px 11px;border-radius:999px;background:#fff;
  border:1px solid rgba(20,18,25,.09)}
.template-canvas{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;
  height:188px;padding:18px;border-radius:18px;background:#fff;box-shadow:0 15px 30px rgba(58,30,110,.10)}
.slot{border:2px dashed rgba(123,69,217,.44);border-radius:11px;background:linear-gradient(135deg,#F7EFFF,#FFF6D6)}
.slot{position:relative;display:grid;place-items:center;overflow:hidden}
.slot::before{content:attr(data-slot);font-family:var(--disp);font-size:34px;letter-spacing:.04em;color:rgba(123,69,217,.36)}
.slot::after{content:"PHOTO";position:absolute;right:9px;top:7px;font:900 7px/1 var(--body);
  letter-spacing:.15em;color:rgba(123,69,217,.34)}
.template-canvas>span{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);font-size:10px;font-weight:900;
  color:#fff;background:var(--eggplant);padding:6px 10px;border-radius:999px;white-space:nowrap}
.delivery-flow{display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr) 42px minmax(0,1fr);
  gap:8px;align-items:center;margin:30px 0 24px}
.delivery-step{min-height:128px;padding:15px;border-radius:20px;background:rgba(255,255,255,.88);
  border:1px solid rgba(35,25,10,.08);box-shadow:0 14px 34px rgba(67,51,16,.10);display:grid;
  grid-template-columns:1fr;gap:10px;align-content:start}
.delivery-step>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;
  background:linear-gradient(145deg,var(--yellow-hi),var(--yellow-lo));font:400 17px/1 var(--disp);color:#17110A}
.delivery-step div{display:grid;gap:7px;padding-top:3px}
.delivery-step b{font-size:13px;line-height:1.3;white-space:nowrap}
.delivery-step small{font-size:9.5px;line-height:1.55;color:var(--ink-soft)}
.delivery-link{position:relative;display:grid;place-items:center;gap:5px}
.delivery-link i{width:100%;height:2px;background:linear-gradient(90deg,var(--yellow),var(--eggplant));position:relative}
.delivery-link i::after{content:"";position:absolute;right:0;top:50%;width:7px;height:7px;transform:translateY(-50%) rotate(45deg);
  border-top:2px solid var(--eggplant);border-right:2px solid var(--eggplant)}
.delivery-link b{font:400 9px/1 var(--disp);letter-spacing:.14em;color:var(--eggplant)}

/* ═══ 设备实拍(浅灰白棚拍延续亮区) ═══ */
.device{background:var(--paper2);color:var(--ink);padding:14vh 6vw 12vh;text-align:center;overflow:hidden}
.device .giant-title{background:linear-gradient(180deg,#3A3740 0%,#121014 70%);
  -webkit-background-clip:text;background-clip:text;filter:none}
body[data-lang="zh"] .device-title{font-family:var(--body);font-weight:900;letter-spacing:-.065em}
.device-title-line{display:block}
.device-title-cn{font-family:var(--body);font-weight:900}
.device-title-en{font-family:var(--disp);font-weight:400;letter-spacing:.005em}
.device-sub{margin:2.4vh 0 6vh;font-size:12.5px;font-weight:800;letter-spacing:.28em;color:var(--ink-soft);text-transform:uppercase}
/* 一张现场完整机 + 三张设备特写。 */
.device-stage{position:relative;width:min(94vw,1180px);aspect-ratio:3/2;min-height:0;margin:0 auto;
  border-radius:32px;background:linear-gradient(130deg,#dce9ff 0%,#f4f3f2 49%,#ffe7d3 100%);overflow:hidden;
  box-shadow:0 34px 70px rgba(18,16,20,.20),inset 0 0 0 1px rgba(20,26,34,.09)}
.device-main{width:100%;height:100%;object-fit:cover}
.device-stage::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:32px;
  box-shadow:inset 0 0 0 1px rgba(20,26,34,.10)}
.device-detail-grid{width:min(94vw,1060px);margin:clamp(26px,5vw,56px) auto 0;display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;text-align:left}
.device-detail-card{margin:0;aspect-ratio:3/4;overflow:hidden;border-radius:24px;
  background:linear-gradient(135deg,#dfeaff,#fff0e3);border:1px solid rgba(20,26,34,.10);
  box-shadow:0 18px 42px rgba(18,16,20,.16)}
.device-detail-card img{width:100%;height:100%;object-fit:cover;object-position:center}

/* ═══ 场景堆叠卡(回暗) ═══ */
.scenes{background:var(--night);border-radius:44px 44px 0 0;margin-top:-44px;padding:13vh 5vw 16vh}
.scenes .giant-title{margin-bottom:9vh}
.scene-stack{max-width:1020px;margin:0 auto}
.scene-card{position:sticky;top:12vh;background:var(--card);border:1px solid rgba(255,255,255,.13);
  border-radius:32px;padding:30px 34px 34px;margin-bottom:5vh;
  box-shadow:0 -18px 50px rgba(0,0,0,.55);will-change:transform}
.scene-card header{display:flex;align-items:center;gap:22px;margin-bottom:24px}
.snum{font-family:var(--disp);font-size:clamp(44px,6vw,70px);font-weight:400;color:#fff;line-height:.92}
.scene-card em{display:block;font-style:normal;font-size:11.5px;font-weight:800;letter-spacing:.26em;
  text-transform:uppercase;color:var(--yellow);margin-bottom:6px}
.scene-card strong{font-size:clamp(17px,2.3vw,24px);font-weight:900;color:#fff}
.scene-card header a{margin-left:auto}
.scene-grid{display:grid;grid-template-columns:1fr 1.62fr;gap:16px}
.scene-grid img{width:100%;height:clamp(250px,36vh,390px);object-fit:cover;object-position:center center;border-radius:18px}
.scene-grid img:first-child{object-position:center 55%}

/* ═══ 联系(收白) ═══ */
.contact{background:var(--paper);color:var(--ink);border-radius:44px 44px 0 0;margin-top:-44px;z-index:6;
  text-align:center;padding:7vh 8vw 10vh}
.contact-visual{width:min(92vw,1060px);margin:0 auto 1vh;overflow:hidden;border-radius:28px;
  background:#FFF8E6;box-shadow:0 22px 54px rgba(27,22,14,.13)}
.contact-visual img{width:100%;height:auto}
.contact .giant-title{background:linear-gradient(180deg,#3A3740 0%,#121014 72%);
  -webkit-background-clip:text;background-clip:text;filter:none;margin-top:0}
.contact-sub{margin:3vh auto 5vh;color:var(--ink-soft);font-size:15px;font-weight:600}
.contact-form{max-width:520px;margin:0 auto;display:grid;gap:14px}
.contact-form input,.contact-form textarea{width:100%;border:1.5px solid rgba(18,16,20,.18);
  background:#fff;border-radius:16px;padding:15px 18px;font:600 15px/1.5 var(--body);color:var(--ink);resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:#070709}
.contact-form .hp{position:absolute;left:-9999px;opacity:0;height:0;padding:0;border:0}
.form-note{font-size:13px;font-weight:700;color:#9A6A00;min-height:1.4em}
.brand-mark{font-family:var(--disp);font-size:clamp(14px,1.8vw,20px);letter-spacing:.24em;color:var(--ink-soft);margin:4vh 0 8vh;text-transform:uppercase}

/* ═══ 页脚 ═══ */
.footer{background:var(--night);color:rgba(255,255,255,.65);text-align:center;padding:6vh 6vw}
.footer img{width:42px;height:42px;border-radius:10px;margin:0 auto 14px}
.footer p{font-size:12.5px;letter-spacing:.12em}

/* ═══ 响应式 ═══ */
@media (max-width:760px){
  .nav{gap:12px;padding:10px 4vw}
  .nav-links{display:none}
  .hero-title{font-size:clamp(56px,17vw,120px)}
  .hero-line{display:block}
  .hero-line2{margin-left:0}
  .hero-title{top:13vh}
  .hero-product{width:min(70vw,350px);left:calc(50% - min(35vw,175px));top:auto;bottom:-3vh}
  .hfloat{display:none} /* 窄屏收掉漂浮小物, 别挡文字 */
  .hero-tag{left:0;right:0;top:33vh;bottom:auto;width:92vw;max-width:440px;margin:0 auto;
    text-align:center}
  .hero-cta{right:0;left:0;top:42vh;bottom:auto;width:max-content;max-width:92vw;margin:0 auto;
    text-align:center}
  .marquee-track{gap:14px}
  .shot-card-art{height:240px}
  .shot-card--wide{width:360px}
  .shot-card--template{width:134px}
  .shot-card--product{width:180px}
  .feature-item{gap:6vw}
  .software-heading{width:100%;grid-template-columns:1fr;gap:18px}
  .software-heading .eyebrow{grid-column:auto}
  .software-board{width:100%;grid-template-columns:1fr}
  .ui-schedule,.ui-camera,.ui-beauty,.ui-template,.ui-delivery{grid-column:1;grid-row:auto;min-height:0}
  .ui-camera{padding:14px}.camera-preview{height:116vw;max-height:560px}
  .ui-panel{border-radius:22px;padding:22px}
  .delivery-flow{grid-template-columns:1fr;gap:9px}
  .delivery-step{min-height:0}
  .delivery-link{min-height:22px}
  .delivery-link i{width:2px;height:20px}
  .delivery-link i::after{right:50%;top:auto;bottom:0;transform:translate(50%,0) rotate(135deg)}
  body[data-lang="zh"] .device-title{font-size:clamp(42px,13vw,58px);line-height:.94}
  body[data-lang="zh"] .device-title-line:first-child>span{display:block}
  .device-stage{width:100%;border-radius:24px}
  .device-detail-grid{display:flex;width:100%;margin-right:0;overflow-x:auto;padding:2px 0 14px;
    scroll-snap-type:x mandatory;scrollbar-width:none}
  .device-detail-grid::-webkit-scrollbar{display:none}
  .device-detail-card{min-width:100%;flex:0 0 100%;scroll-snap-align:center;border-radius:20px}
  .scene-card header{flex-wrap:wrap}
  .scene-grid{grid-template-columns:1fr}
  .scene-grid img{height:56vw;min-height:210px;max-height:360px}
  .contact{padding:5vh 5vw 9vh}
  .contact-visual{width:100%;border-radius:20px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}

/* ═══ 页脚法务信息(Apple Developer 审核要素, 2026-07-17) ═══ */
.footer-legal{font-size:12px;line-height:1.8;letter-spacing:.06em;margin-top:10px;color:rgba(255,255,255,.55);overflow-wrap:anywhere}
.footer-legal a{color:rgba(255,255,255,.75);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25)}
.footer-legal a:hover{color:#fff;border-bottom-color:#fff}
.footer-legal .dot{margin:0 10px;color:rgba(255,255,255,.3)}

/* ═══ 关于我们/隐私政策 子页 ═══ */
.page-wrap{max-width:860px;margin:0 auto;padding:120px 6vw 10vh;line-height:1.9;color:var(--ink,#26221c)}
.page-wrap h1{font-size:34px;margin-bottom:8px}
.page-wrap h2{font-size:20px;margin:36px 0 10px}
.page-wrap p,.page-wrap li{font-size:15px;color:#4c463c}
.page-wrap ul{padding-left:22px}
.page-wrap .meta{font-size:12.5px;color:#8b8577;margin-bottom:28px}
