:root{
  --paper:#F5F6FA;--mist:#E9EBF3;--ink:#171A33;--muted:#5C6080;--line:#DADDE9;--pink:#EC3E95;--pink-ink:#C2186F;
  --holo:radial-gradient(closest-side,#ffd2ad 0%,#ffa8d8 38%,#b9a8ff 64%,#8fd3ff00 100%);
  --font:"Bricolage Grotesque","Noto Sans SC","Noto Kufi Arabic",system-ui,-apple-system,"Segoe UI",sans-serif;
  --gut:clamp(16px,4vw,48px);--max:1180px;--r-lg:28px;--r-md:18px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
:lang(zh) body,body:lang(zh){font-family:"Noto Sans SC",var(--font)}
:lang(ar) body,body:lang(ar){font-family:"Noto Kufi Arabic",var(--font);line-height:1.75}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,p{margin:0;overflow-wrap:break-word}h1,h2,h3{hyphens:auto}
:focus-visible{outline:3px solid var(--pink);outline-offset:3px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;inset-inline-start:16px;top:8px;transform:translateY(-300%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:12px;z-index:20}
.skip:focus{transform:none}

/* 顶栏 */
.bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:24px;max-width:calc(var(--max) + 2*var(--gut));margin:auto;padding:14px var(--gut);background:color-mix(in srgb,var(--paper) 82%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px)}
.brand img{height:44px;width:auto}
.links{display:flex;gap:28px;margin-inline-start:auto;font-size:15px;font-weight:500}
.links a{text-decoration:none;color:var(--muted)}
.links a:hover{color:var(--ink)}
.tools{display:flex;align-items:center;gap:10px}
.lang select{appearance:none;font:inherit;font-size:14px;font-weight:500;color:var(--ink);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23171A33' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center;border:1px solid var(--line);border-radius:999px;padding:9px 30px 9px 14px;min-height:42px;cursor:pointer}
:lang(ar) .lang select{background-position:left 12px center;padding:9px 14px 9px 30px}

/* 按钮 */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;font-weight:700;font-size:17px;text-decoration:none;background:var(--ink);color:#fff;transition:transform .15s ease,background-color .2s ease;white-space:nowrap}
.btn:hover{background:#2A2E52}
.btn:active{transform:scale(.97)}
.btn.small{min-height:42px;padding:0 18px;font-size:15px}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn.ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn.light{background:#fff;color:var(--ink)}
.btn.light:hover{background:#FFE3F1}

/* 首屏 */
.hero{max-width:calc(var(--max) + 2*var(--gut));margin:auto;padding:clamp(28px,6vw,72px) var(--gut) clamp(40px,6vw,88px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(24px,4vw,56px)}
h1{font-size:clamp(42px,6.4vw,84px);line-height:.98;letter-spacing:-.035em;font-weight:800;font-variation-settings:"opsz" 96;text-wrap:balance}
:lang(zh) h1,:lang(ar) h1{letter-spacing:0;line-height:1.2}
.sub{margin-top:22px;font-size:clamp(17px,1.6vw,21px);color:var(--muted);white-space:nowrap;overflow:hidden}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.note{margin-top:18px;font-size:14px;color:var(--muted)}
.stage{position:relative;aspect-ratio:1/0.92;width:100%}
.glow{position:absolute;inset:4% 2% 0;background:var(--holo);filter:blur(10px);opacity:.75;border-radius:50%}
.obj{position:absolute;height:auto}
.o1{width:58%;left:21%;top:22%;z-index:2;transform:rotate(-3deg)}
.o2{width:34%;left:2%;top:4%;transform:rotate(-10deg)}
.o3{width:17%;right:9%;top:0;transform:rotate(9deg)}
.o4{width:33%;right:0;bottom:2%;z-index:3;transform:rotate(8deg)}
.o5{width:22%;left:6%;bottom:4%;z-index:3;transform:rotate(-6deg)}
.scan{display:none}

/* 只在打开页面时播一次：UV 光从左往右扫过，颜色像喷上去一样出现（和 xTool 打印一样） */
@media (prefers-reduced-motion:no-preference){
  .js .obj{clip-path:inset(0 100% 0 0);animation:print 1.1s cubic-bezier(.6,.05,.3,1) forwards}
  .js .o2{animation-delay:.05s}.js .o1{animation-delay:.18s}.js .o3{animation-delay:.32s}.js .o4{animation-delay:.42s}.js .o5{animation-delay:.5s}
  .js .scan{display:block;position:absolute;top:2%;bottom:2%;width:3px;left:0;z-index:5;border-radius:3px;background:linear-gradient(#8fd3ff00,#8fd3ff 20%,#ffa8d8 70%,#ffd2ad00);box-shadow:0 0 18px 4px #ffa8d8aa;opacity:0;animation:sweep 1.6s cubic-bezier(.6,.05,.3,1) .05s forwards}
  @keyframes print{to{clip-path:inset(0 0 0 0)}}
  @keyframes sweep{0%{left:0;opacity:0}8%{opacity:1}85%{opacity:1}100%{left:100%;opacity:0}}
}

/* 区块 */
.sec{max-width:calc(var(--max) + 2*var(--gut));margin:auto;padding:clamp(56px,8vw,112px) var(--gut) 0}
.head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px 40px;margin-bottom:clamp(24px,3vw,40px)}
h2{font-size:clamp(30px,3.6vw,48px);line-height:1.05;letter-spacing:-.025em;font-weight:800;max-width:18ch;text-wrap:balance}
:lang(zh) h2,:lang(ar) h2{letter-spacing:0;line-height:1.25}
.head p{color:var(--muted);max-width:44ch}

/* 产品：一块大的 + 六块小的 */
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.tile{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:var(--r-md);padding:20px 20px 22px;text-decoration:none;min-height:300px;transition:transform .2s ease}
.tile:hover{transform:translateY(-3px)}
.tile img{height:150px;width:100%;object-fit:contain;margin:4px 0 18px;transition:transform .35s ease}
.tile:hover img{transform:scale(1.04) rotate(-2deg)}
.tile h3{font-size:19px;font-weight:700;letter-spacing:-.01em}
.tile p{font-size:15px;color:var(--muted);margin-top:4px}
.tile.wide{grid-column:span 2;min-height:0;justify-content:flex-end;background:#FFE3F1;background-image:linear-gradient(115deg,#FFE3F1,#ECE6FF 60%,#DDF1FF)}
.tile.wide h3{font-size:clamp(21px,2vw,26px);letter-spacing:-.015em}
.tile.wide p{color:#4A4E70;max-width:40ch}
.tile.big{grid-column:span 2;grid-row:span 2;background:var(--ink);color:#fff;padding:28px}
.tile.big img{flex:1;height:auto;min-height:260px;margin:10px 0 24px}
.tile.big h3{font-size:clamp(24px,2.4vw,32px);letter-spacing:-.02em}
.tile.big p{color:#B9BCD6;font-size:16px}

/* 系列 */
.tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px;margin:-2px -2px 22px}
.tabs::-webkit-scrollbar{display:none}
.tabs button{font:inherit;font-size:15px;font-weight:600;color:var(--ink);background:transparent;border:1.5px solid var(--line);border-radius:999px;padding:0 18px;min-height:44px;cursor:pointer;white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s}
.tabs button:hover{border-color:var(--ink)}
.tabs button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.coll{background:var(--mist);border-radius:var(--r-lg);padding:clamp(22px,3vw,36px)}
.coll-d{color:var(--muted);margin-bottom:18px;min-height:1.55em}
.row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,2vw,24px)}
.row img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;padding:8%;background:#fff;border-radius:var(--r-md)}
@media (prefers-reduced-motion:no-preference){.row img{animation:pop .45s cubic-bezier(.3,1.4,.5,1) both}.row img:nth-child(2){animation-delay:.05s}.row img:nth-child(3){animation-delay:.1s}.row img:nth-child(4){animation-delay:.15s}@keyframes pop{from{opacity:0;transform:scale(.9)}}}

/* 步骤 */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;counter-reset:s}
.steps li{border-top:2px solid var(--ink);padding-top:20px}
.steps .n{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--pink);color:#fff;font-weight:700;font-size:15px;margin-bottom:16px}
.steps h3{font-size:22px;font-weight:700;letter-spacing:-.01em}
.steps p{color:var(--muted);margin-top:6px;max-width:30ch}

/* 门店 + 收尾 */
.visit{padding-bottom:clamp(56px,8vw,112px)}
.card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);background:#fff;border-radius:var(--r-lg);overflow:hidden}
.where{padding:clamp(26px,4vw,52px)}
.addr{margin-top:18px;font-size:19px;font-weight:500}
dl{margin:22px 0 0}dt{font-size:14px;color:var(--muted)}dd{margin:2px 0 0;white-space:pre-line}
.contacts{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;font-weight:600}
.contacts a{text-underline-offset:5px;text-decoration-thickness:1.5px;text-decoration-color:var(--pink)}
.contacts a[hidden]{display:none}
.final{background:var(--ink);color:#fff;padding:clamp(26px,4vw,52px);display:flex;flex-direction:column;justify-content:space-between;gap:28px;position:relative;overflow:hidden}
.final::before{content:"";position:absolute;width:420px;height:420px;right:-140px;bottom:-200px;background:var(--holo);opacity:.55;filter:blur(20px)}
.final .big{position:relative;font-size:clamp(30px,3.4vw,44px);line-height:1.05;letter-spacing:-.025em;font-weight:800;max-width:12ch}
:lang(zh) .final .big,:lang(ar) .final .big{letter-spacing:0;line-height:1.3}
.final .btn{position:relative;align-self:flex-start}
.foot{max-width:calc(var(--max) + 2*var(--gut));margin:auto;padding:26px var(--gut) 40px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;font-size:14px;color:var(--muted)}
.legal{display:flex;gap:20px}
.legal a{text-decoration:none}.legal a:hover{color:var(--ink)}

/* 平板 */
@media (max-width:980px){
  .links{display:none}
  .tools{margin-inline-start:auto}
  .hero{grid-template-columns:minmax(0,1fr);text-align:center}
  .actions{justify-content:center}
  .stage{max-width:620px;margin:0 auto;width:100%}
  .bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tile.big{grid-row:auto}
}
/* 手机 */
@media (max-width:560px){
  body{font-size:16px}
  .bar{padding-block:10px;gap:10px}
  .brand img{height:38px}
  .tools .order{display:none}
  .hero{padding-top:20px;gap:8px}
  h1{font-size:clamp(36px,10.5vw,46px)}
  .sub{margin-top:14px}
  .actions{flex-direction:column;align-items:stretch;margin-top:24px}
  .btn{min-height:56px;font-size:18px}
  .bento{gap:10px}
  .tile{min-height:0;padding:14px 14px 16px}
  .tile img{height:110px;margin-bottom:12px}
  .tile h3{font-size:17px}.tile p{font-size:14px}
  .tile.big{padding:20px}.tile.big img{min-height:180px}
  .row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:1fr;gap:26px}
  .card{grid-template-columns:1fr}
  .final .btn{align-self:stretch}
}
