@font-face{font-family:'Sun Num';src:url(../res/fonts/nunito.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--wrap:1200px;--nav-h:64px;--r-btn:999px;--r-mark:50%;--r-lg:24px;--h1-weight:900;--h1-track:-.02em;--h2-weight:900;--h2-track:-.02em;--h3-weight:800;--btn-bg:var(--grad);--btn-shadow:0 12px 26px -10px rgba(255,61,119,.6);--btn-shadow-h:0 16px 32px -10px rgba(255,61,119,.7);--ghost-bg:#fff;--sel:var(--accent-soft);--grid-line:rgba(43,22,56,.05);--shadow-h:0 20px 40px -18px rgba(150,60,30,.35);--alt-bg:#fff0e6;--earn-hi:var(--surface);--cta-bg:linear-gradient(135deg,#ffe3d1,#ffd6e3);--phone-shell:#111;--mosaic-op:.32;--veil:linear-gradient(90deg,#fff5ee 0%,rgba(255,245,238,.94) 46%,rgba(255,245,238,.55) 100%),linear-gradient(180deg,transparent 70%,#fff5ee);--f-body:-apple-system,BlinkMacSystemFont,'PingFang SC','Noto Sans SC','Microsoft YaHei','Helvetica Neue',Arial,sans-serif;--bg:#fff5ee;--surface:#ffffff;--surface-2:#ffeadd;--line:#f6dccb;--line-2:#f0c6ad;--text:#2b1638;--text-2:#5b4566;--text-3:#9a8aa2;--accent:#ff6a2b;--accent-2:#ff3d77;--accent-soft:rgba(255,106,43,.1);--accent-line:rgba(255,106,43,.3);--on-accent:#fff;--grad:linear-gradient(100deg,#ff8a2b,#ff3d77);--nav-bg:rgba(255,245,238,.72);--nav-bg-2:rgba(255,245,238,.95);--glow-1:rgba(255,138,43,.3);--glow-2:rgba(255,61,119,.2);--float-bg:rgba(255,255,255,.96);--f-disp:'PingFang SC','Noto Sans SC','Microsoft YaHei',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;--f-num:'Sun Num','Arial Rounded MT Bold',Arial,sans-serif}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 12px)}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
::selection{background:var(--sel)}
.sunWrap{width:min(100% - 40px,var(--wrap));margin:0 auto}
.sunNarrow{max-width:860px}
.sunKick{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--accent);text-transform:uppercase}
.sunDot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.sunHl{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.sunBtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:var(--r-btn);font:inherit;font-weight:700;white-space:nowrap;cursor:pointer;transition:transform .2s,box-shadow .2s,background-color .2s,border-color .2s,color .2s}
.sunBtn .sunArr{font-style:normal;transition:transform .2s}
.sunBtn:hover .sunArr{transform:translateX(3px)}
.sunBtn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.sunBtnSm{height:38px;padding:0 18px;font-size:14px}
.sunBtnMd{height:42px;padding:0 20px;font-size:14px}
.sunBtnLg{height:52px;padding:0 28px;font-size:16px}
.sunBtnP{color:var(--on-accent);background:var(--btn-bg);box-shadow:var(--btn-shadow)}
.sunBtnP:hover{transform:translateY(-2px);box-shadow:var(--btn-shadow-h)}
.sunBtnG{color:var(--text);background:var(--ghost-bg);border-color:var(--line-2)}
.sunBtnG:hover{border-color:var(--accent)}

/* 顶栏 */
.sunNav{position:fixed;inset:0 0 auto;z-index:90;height:var(--nav-h);background:var(--nav-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:background-color .25s,border-color .25s}
.sunNav.sunScrolled{background:var(--nav-bg-2);border-bottom-color:var(--line)}
.sunNavIn{display:flex;align-items:center;gap:24px;height:100%}
.sunBrand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px}
.sunMark{position:relative;flex:none;width:32px;height:32px;border-radius:var(--r-mark);background:var(--grad)}
.sunMark::after{content:"";position:absolute;left:12px;top:9px;border-left:11px solid var(--on-accent);border-top:7px solid transparent;border-bottom:7px solid transparent}
.sunBtag{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--accent);border:1px solid var(--accent-line);border-radius:4px;padding:1px 5px;line-height:1.4}
.sunLinks{display:flex;gap:26px;margin-left:auto;font-size:14px;color:var(--text-2)}
.sunLinks a{padding:8px 0;transition:color .2s}
.sunLinks a:hover{color:var(--text)}
.sunNact{display:flex;align-items:center;gap:20px;flex:none}
.sunNlog{font-size:14px;font-weight:600;color:var(--text-2);white-space:nowrap;transition:color .2s}
.sunNlog:hover{color:var(--text)}

/* 首屏 */
.sunHero{position:relative;padding:calc(var(--nav-h) + 72px) 0 72px;overflow:hidden}
.sunHbg{position:absolute;inset:0;pointer-events:none}
.sunHbg span{position:absolute;border-radius:50%;filter:blur(80px)}
.sunHbg .sunG1{width:620px;height:620px;left:-180px;top:-200px;background:radial-gradient(circle,var(--glow-1),transparent 65%)}
.sunHbg .sunG2{width:720px;height:720px;right:-220px;top:80px;background:radial-gradient(circle,var(--glow-2),transparent 65%)}
.sunHbg .sunGrid{inset:0;border-radius:0;filter:none;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 20%,transparent 80%);mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 20%,transparent 80%)}
.sunHin{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:48px}
.sunHcopy h1{margin:22px 0 18px;font:var(--h1-weight) clamp(36px,4.6vw,62px)/1.14 var(--f-disp);letter-spacing:var(--h1-track)}
.sunLede{max-width:560px;font-size:17px;line-height:1.8;color:var(--text-2)}
.sunCtas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.sunProof{display:flex;flex-wrap:wrap;gap:12px 36px;margin-top:40px}
.sunProof li{display:flex;flex-direction:column;gap:2px}
.sunProof b{font:800 28px/1.2 var(--f-num);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.sunProof span{font-size:13px;color:var(--text-3)}
.sunHvis{position:relative;height:560px;min-width:0}
.sunFcard,.sunNote{position:absolute;z-index:3;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--r-lg);background:var(--float-bg);border:1px solid var(--line-2);box-shadow:var(--shadow-h);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:float 6s ease-in-out infinite}
.sunFcard b,.sunNote b{display:block;font-size:14px;color:var(--text)}
.sunFcard small,.sunNote small{display:block;font-size:12px;color:var(--text-3)}
.sunFico{flex:none;width:36px;height:36px;padding:8px;border-radius:10px;color:var(--on-accent);background:var(--grad)}
.sunFcard.sunF1{left:-24px;top:110px}
.sunFcard.sunF2{right:-8px;bottom:110px;animation-delay:-3s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* 渠道跑马灯 */
.sunTick{position:relative;z-index:2;padding:8px 0 0}
.sunTickH{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}
.sunTickL{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--accent)}
.sunTickS{font-size:12px;color:var(--text-3)}
.sunTickv{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.sunTickv:hover .sunTickt{animation-play-state:paused}
.sunTickt{display:flex;width:max-content;animation:tick 80s linear infinite}
.sunTi{display:inline-flex;align-items:center;gap:8px;padding:16px 28px;font-size:14px;white-space:nowrap;border-right:1px solid var(--line)}
.sunTi b{font-weight:600;color:var(--text-2)}
.sunTi em{font:normal 600 12px var(--f-num);color:var(--accent);font-variant-numeric:tabular-nums}
@keyframes tick{to{transform:translateX(-50%)}}

/* 通用区块 */
.sunSec{padding:96px 0}
.sunAlt{background:var(--alt-bg)}
.sunSh{max-width:660px;margin-bottom:44px}
.sunSh h2{margin:14px 0 12px;font:var(--h2-weight) clamp(28px,3.1vw,40px)/1.22 var(--f-disp);letter-spacing:var(--h2-track)}
.sunSh p:not(.sunKick){font-size:16px;color:var(--text-2)}
.sunShrow{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:44px}
.sunShrow .sunSh{margin-bottom:0}
.sunDisc{margin-top:22px;font-size:12px;color:var(--text-3)}
.sunScta{display:flex;justify-content:center;margin-top:40px}
.sunCardBase,.sunFeat,.sunStep,.sunWcard,.sunDcard,.sunQa{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}
.sunFico2,.sunEico,.sunWico2{flex:none;width:46px;height:46px;padding:11px;border-radius:12px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line)}

/* 剧目卡 */
.sunDcard{overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s;min-width:0}
.sunDcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-h);border-color:var(--line-2)}
.sunDcov{position:relative;aspect-ratio:2/3;overflow:hidden;background:var(--surface-2)}
.sunDcov img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.sunDcard:hover .sunDcov img{transform:scale(1.05)}
.sunDplat{position:absolute;left:8px;top:8px;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700;color:#fff;background:rgba(10,10,10,.62);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.sunDmeta{padding:10px 12px 12px}
.sunDtitle{font-size:14px;font-weight:700;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sunDsub{margin-top:3px;font-size:12px;color:var(--text-3)}

/* 常见问题 */
.sunFaq{display:flex;flex-direction:column;gap:12px}
.sunQa{padding:0 22px}
.sunQa summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-weight:700;font-size:17px;cursor:pointer}
.sunQa summary::-webkit-details-marker{display:none}
.sunQa summary::after{content:"+";flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:18px;transition:transform .2s}
.sunQa[open] summary::after{transform:rotate(45deg)}
.sunQa p{padding:0 0 20px;color:var(--text-2);font-size:15px;line-height:1.8}

/* 收尾 CTA 公共 */
.sunCtaSec{padding-top:24px}
.sunCcopy h2{margin:14px 0 12px;font:var(--h2-weight) clamp(26px,2.9vw,36px)/1.25 var(--f-disp);letter-spacing:var(--h2-track)}
.sunCcopy p:not(.sunKick){max-width:620px;font-size:15px;line-height:1.8;color:var(--text-2)}
.sunCcopy p b{color:var(--text)}
.sunCacts{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.sunCqr{flex:none;display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px;border-radius:16px;background:#fff;color:#333;font-size:12px}
.sunCqr img{width:160px;height:auto;border-radius:6px}

/* 页脚 */
.sunFoot{border-top:1px solid var(--line);padding:40px 0 32px;color:var(--text-3);font-size:13px}
.sunFin{display:grid;gap:18px}
.sunFbrand{display:flex;align-items:center;gap:12px;color:var(--text)}
.sunFbrand b{display:block;font-size:16px}
.sunFbrand small{display:block;font-size:12px;color:var(--text-3)}
.sunFlinks{display:flex;flex-wrap:wrap;gap:6px 22px}
.sunFlinks a{padding:6px 0;color:var(--text-2)}
.sunFlinks a:hover{color:var(--accent)}
.sunFdisc,.sunFcopy{max-width:820px;line-height:1.7}

/* 滚动淡入：只隐藏首屏以下的元素，JS 失效时一切照常显示 */
.sunReveal.sunPre{opacity:0;transform:translateY(18px)}
.sunReveal{transition:opacity .7s ease,transform .7s ease}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.sunReveal.sunPre{opacity:1;transform:none}}

@media (max-width:960px){
  .sunLinks{display:none}
  .sunNact{margin-left:auto}
  .sunHin{grid-template-columns:1fr;gap:36px}
  .sunHvis{height:440px}
  .sunShrow{flex-direction:column;align-items:flex-start}
}
@media (max-width:600px){
  .sunWrap{width:calc(100% - 32px)}
  .sunSec{padding:68px 0}
  .sunHero{padding:calc(var(--nav-h) + 40px) 0 48px}
  .sunBname{font-size:16px}
  .sunBtag{display:none}
  .sunNact{gap:14px}
  .sunBtnLg{height:48px;padding:0 20px;font-size:15px}
  .sunCtas .sunBtn{flex:1 1 auto}
  .sunProof{gap:10px 24px}
  .sunProof b{font-size:22px}
  .sunHvis{height:380px}
  .sunFcard.sunF1{left:0}
  .sunFcard.sunF2{right:0}
  .sunQa{padding:0 16px}
  .sunQa summary{font-size:16px}
}


.sunHeroMosaic{padding-bottom:96px}
.sunMosaic{position:absolute;inset:-40px;display:grid;grid-template-columns:repeat(8,1fr);gap:10px;transform:rotate(-6deg) scale(1.15);opacity:var(--mosaic-op)}
.sunMz{aspect-ratio:2/3;border-radius:10px;overflow:hidden}
.sunMz img{width:100%;height:100%;object-fit:cover}
.sunVeil{position:absolute;inset:0;background:var(--veil)}
.sunHeroMosaic .sunHin{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.sunFl{position:relative;display:flex;flex-direction:column;gap:14px}
.sunFl .sunFcard{position:static;animation-duration:7s}
.sunFl .sunFcard:nth-child(2){animation-delay:-2s;margin-left:30px}
.sunFl .sunFcard:nth-child(3){animation-delay:-4s}
@media (max-width:960px){.sunMosaic{grid-template-columns:repeat(5,1fr)}.sunFl{display:none}}


/* 中心外圈虚线环在转：旋转中的方框外接矩形会胀大约 41%，变换后的盒子也算进页面溢出，手机上会把布局视口撑宽。横向裁掉即可（圆环本身在容器内） */
.sunLoop{overflow-x:clip;position:relative;display:grid;grid-template-columns:1fr 1.05fr 1fr;grid-template-areas:". n ." "w c e" ". s .";gap:22px;align-items:center}
.sunLn{padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}
.sunLn h3{margin:14px 0 6px;font:var(--h3-weight) 19px/1.3 var(--f-disp)}
.sunLn p{font-size:14px;line-height:1.75;color:var(--text-2)}
.sunLnN{grid-area:n}.sunLnE{grid-area:e}.sunLnS{grid-area:s}.sunLnW{grid-area:w}
.sunLcore{grid-area:c;justify-self:center;width:min(100%,300px);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;aspect-ratio:1;border-radius:50%;background:var(--grad);color:var(--on-accent);box-shadow:0 0 0 14px var(--accent-soft),0 0 0 15px var(--accent-line)}
.sunLcore::before{content:"";position:absolute;inset:-34px;border-radius:50%;border:2px dashed var(--accent-line);animation:spin 40s linear infinite}
.sunLcore span{font-size:13px;font-weight:700;opacity:.8}
.sunLcore b{font:var(--h2-weight) clamp(24px,2.6vw,34px)/1.2 var(--f-disp);margin:6px 0}
.sunLcore small{font-size:12px;font-weight:700;opacity:.8}
@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:860px){.sunLoop{grid-template-columns:1fr;grid-template-areas:"c" "n" "e" "s" "w"}.sunLcore{width:min(260px,70vw);justify-self:center;margin:30px 0}}


.sunBento{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:auto auto;gap:18px}
.sunBento .sunFeat:first-child{grid-row:span 2}
.sunBento .sunFeat:nth-child(4){grid-column:span 2}
.sunFeat{position:relative;padding:28px;transition:transform .25s,border-color .25s,box-shadow .25s}
.sunFeat:hover{transform:translateY(-3px);border-color:var(--accent-line);box-shadow:var(--shadow-h)}
.sunFeat h3{margin:18px 0 8px;font:var(--h3-weight) 20px/1.3 var(--f-disp)}
.sunFeat p{font-size:15px;line-height:1.75;color:var(--text-2)}
.sunChips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.sunChip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;font-size:12px;color:var(--text-2);background:var(--surface-2);border:1px solid var(--line)}
.sunChip em{font:normal 600 12px var(--f-num);color:var(--accent)}
@media (max-width:900px){.sunBento{grid-template-columns:1fr 1fr}.sunBento .sunFeat:first-child{grid-row:auto;grid-column:span 2}}
@media (max-width:600px){.sunBento{grid-template-columns:1fr}.sunBento .sunFeat:first-child,.sunBento .sunFeat:nth-child(4){grid-column:auto}}


.sunWcards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.sunWcard{padding:22px 20px;text-align:left}
.sunWcard h3{margin:16px 0 6px;font:var(--h3-weight) 18px/1.3 var(--f-disp)}
.sunWcard p{font-size:14px;line-height:1.7;color:var(--text-2)}
@media (max-width:1060px){.sunWcards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.sunWcards{grid-template-columns:1fr 1fr}}
@media (max-width:440px){.sunWcards{grid-template-columns:1fr}}


.sunSteps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sunStep{position:relative;padding:28px}
.sunStep:not(:last-child)::after{content:"";position:absolute;top:44px;right:-18px;width:18px;height:1px;background:linear-gradient(90deg,var(--line-2),transparent)}
.sunSn{display:inline-block;font:800 13px var(--f-num);letter-spacing:.1em;color:var(--accent);padding:4px 10px;border-radius:999px;background:var(--accent-soft);border:1px solid var(--accent-line)}
.sunStep h3{margin:16px 0 8px;font:var(--h3-weight) 20px/1.3 var(--f-disp)}
.sunStep p{font-size:15px;line-height:1.75;color:var(--text-2)}
@media (max-width:760px){.sunSteps{grid-template-columns:1fr}.sunStep::after{display:none}}


.sunRail{display:grid;grid-auto-flow:column;grid-auto-columns:200px;gap:18px;overflow-x:auto;padding:4px 2px 18px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.sunRail .sunDcard{scroll-snap-align:start}
@media (max-width:600px){.sunRail{grid-auto-columns:150px;gap:12px}}


.sunCsplit{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:48px;padding:44px;border-radius:calc(var(--r-lg) + 8px);background:var(--cta-bg);border:1px solid var(--accent-line)}
.sunCsplit .sunCqr{padding:18px}
.sunCsplit .sunCqr img{width:200px}
@media (max-width:760px){.sunCsplit{grid-template-columns:1fr;padding:30px 22px;gap:28px}.sunCsplit .sunCqr{justify-self:start}.sunCsplit .sunCqr img{width:170px}}


.sunHcopy h1{font-size:clamp(38px,5vw,66px)}
.sunKick{background:#fff;color:#ff3d77;padding:6px 14px;border-radius:999px;box-shadow:0 6px 16px -8px rgba(255,61,119,.5);letter-spacing:.08em}
.sunKick .sunDot{background:#ff8a2b;box-shadow:none}
.sunMz{border-radius:18px}
.sunFcard{border:0}
.sunProof b{font-size:32px;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.sunWcard:nth-child(5n+1){background:#fff1e6}.sunWcard:nth-child(5n+2){background:#ffe8ef}.sunWcard:nth-child(5n+3){background:#f1ecff}.sunWcard:nth-child(5n+4){background:#e8f7f1}.sunWcard:nth-child(5n){background:#fff7d9}
.sunWcard{border:0}
.sunSn{background:var(--grad);color:#fff;border:0}
.sunFeat,.sunStep,.sunQa,.sunDcard,.sunLn{border:0;box-shadow:0 10px 30px -18px rgba(150,60,30,.35)}
.sunLcore{box-shadow:0 0 0 14px rgba(255,106,43,.1),0 0 0 15px rgba(255,61,119,.2)}
.sunCsplit{border:0}
.sunCqr{border-radius:24px}
.sunDplat{border-radius:999px}
