/* multi-page additions — Premium Studio Upgrade */
.nav a[aria-current="page"]{color:var(--ink);background:var(--card);box-shadow:var(--neu-sm)}
.menu{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--card-2);cursor:pointer;position:relative}
.menu span{position:absolute;left:11px;right:11px;height:2px;border-radius:2px;background:var(--ink);transition:transform .2s,top .2s}
.menu span:nth-child(1){top:15px}.menu span:nth-child(2){top:23px}
.menu[aria-expanded="true"] span:nth-child(1){top:19px;transform:rotate(45deg)}
.menu[aria-expanded="true"] span:nth-child(2){top:19px;transform:rotate(-45deg)}
@media(max-width:899px){
  .menu{display:block}
  .nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:4px;margin:0;padding:12px 16px 18px;border-radius:0 0 18px 18px;background:var(--bg-elev);border-bottom:1px solid var(--line);box-shadow:var(--shadow-lg)}
  .nav.open{display:flex}
  .nav a{padding:12px 14px;font-size:15.5px;min-height:44px}
  .top-act .btn-sm{display:none}
}
.top{position:sticky}
.phero{position:relative;overflow:hidden;padding:clamp(48px,8vw,92px) 0 clamp(28px,4.5vw,48px);border-bottom:1px solid var(--line);background:
  radial-gradient(820px 380px at 18% -10%,var(--brand-glow),transparent 68%),
  radial-gradient(640px 320px at 85% 0%,color-mix(in srgb,var(--sky) 10%,transparent),transparent 70%)}
.phero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--grid-dot) 1px,transparent 1px);background-size:24px 24px;mask-image:radial-gradient(ellipse 80% 75% at 50% 35%,#000 30%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 80% 75% at 50% 35%,#000 30%,transparent 100%);pointer-events:none}
.phero .phero-in{position:relative;z-index:1}
.phero h1{margin:0 0 14px;font-size:clamp(30px,5.2vw,52px);line-height:1.12;letter-spacing:-.03em;font-weight:850}
.phero .lead{margin:0}
.detail{position:relative;overflow:hidden;padding:clamp(22px,3.2vw,32px);border-radius:var(--r-panel);background:var(--card);border:1px solid var(--line);box-shadow:var(--neu);margin:0 0 22px;scroll-margin-top:88px;transition:transform .24s cubic-bezier(.2,.7,.2,1),box-shadow .24s,border-color .24s}
.detail::before{content:"";position:absolute;inset:0;background:radial-gradient(560px circle at var(--mx,50%) var(--my,0%),color-mix(in srgb,var(--brand) 9%,transparent),transparent 65%);opacity:0;transition:opacity .3s;pointer-events:none}
.detail:hover::before{opacity:1}
.detail:hover{border-color:color-mix(in srgb,var(--brand) 32%,var(--line));box-shadow:var(--shadow-lg)}
.detail-h{display:flex;gap:16px;align-items:flex-start;position:relative;z-index:1}
.detail-h .chip-ic{flex:none;margin:0}
.detail-h h2{margin:0 0 6px;font-size:clamp(20px,2.8vw,26px)}
.detail-h .lead{margin:0 0 18px;font-size:16px}
.detail-cols{display:grid;gap:22px;grid-template-columns:1fr;padding-top:18px;border-top:1px solid var(--line);position:relative;z-index:1}
@media(min-width:760px){.detail-cols{grid-template-columns:1fr 1fr}}
.detail h3,.need h3{margin:0 0 8px;font-size:13.5px;color:var(--brand-hi);letter-spacing:.04em;text-transform:uppercase}
.detail ul,.need ul,.prep{margin:0;padding-left:20px;color:var(--muted)}
.detail li,.need li,.prep li{margin:6px 0}
.grp{margin:0 0 40px}
.grp-h{margin:0 0 16px;font-size:21px;display:flex;align-items:center;gap:10px}
.grp-h::before{content:"";width:8px;height:20px;border-radius:4px;background:var(--brand)}
.steps.s4{grid-template-columns:1fr}
@media(min-width:760px){.steps.s4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.steps.s4{grid-template-columns:repeat(4,1fr)}}
.ratio{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;padding:5px 12px;border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand-hi);font-weight:700;font-size:13px;border:1px solid color-mix(in srgb,var(--brand) 24%,transparent)}
.need{margin-top:8px}
.faq{display:grid;gap:12px}
.faq details{border:1px solid var(--line);border-radius:var(--r-card,16px);background:var(--card);padding:0 20px;box-shadow:var(--neu-sm);transition:border-color .2s}
.faq details[open]{border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}
.faq summary{cursor:pointer;padding:18px 0;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px;min-height:44px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:20px;color:var(--brand-hi);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{margin:0 0 18px;color:var(--muted)}
.more{display:inline-flex;align-items:center;gap:4px;min-height:40px;margin-top:10px;font-weight:700;color:var(--brand-hi);text-decoration:none;font-size:14px;padding:0;position:relative;z-index:1;transition:gap .18s}
.more:hover{gap:8px;text-decoration:underline}
.cta-band{position:relative;overflow:hidden;padding:clamp(56px,8vw,96px) 0;background:radial-gradient(800px 360px at 50% 0%,var(--brand-glow),transparent 70%),var(--bg-elev);border-top:1px solid var(--line)}
.cta-band h2{margin:0 0 12px}
.cta-band .lead{margin:0 auto 26px}
.foot-grid{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:22px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.foot-nav{display:flex;flex-wrap:wrap;gap:6px 20px;align-content:flex-start}
.foot-nav a{display:inline-flex;align-items:center;min-height:40px;color:var(--muted);text-decoration:none;font-weight:600;font-size:14px;padding:0;transition:color .16s}
.foot-nav a:hover{color:var(--ink)}
.prep li{margin:8px 0}
.fx .faq details{opacity:1}
.nav-contact{display:none}
@media(max-width:899px){.nav-contact{display:block;margin-top:6px;background:var(--brand)!important;color:var(--on-brand)!important;text-align:center}}

.legal h2{font-size:20px;margin:28px 0 8px}.legal p,.legal li{color:var(--muted)}.legal ul{padding-left:20px}
.case{display:grid;gap:24px;grid-template-columns:1fr}
.case-img{width:100%;height:auto;border-radius:var(--r-card,16px);border:1px solid var(--line-strong);box-shadow:var(--shadow-stage);display:block}
.case .ratio{margin-bottom:10px}
.case h2{margin:0 0 8px}
@media(min-width:900px){.case{grid-template-columns:5fr 6fr;align-items:start}.case-img{position:sticky;top:96px}}
.grid2{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:760px){.grid2{grid-template-columns:repeat(2,1fr)}}
h1,h2{text-wrap:balance;line-break:strict}

/* 定價卡片樣式 */
.pricing-grid{display:grid;gap:20px;grid-template-columns:1fr;margin:24px 0 16px}
@media(min-width:700px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.pricing-grid{grid-template-columns:repeat(4,1fr)}}
.price-card{display:flex;flex-direction:column;justify-content:space-between;padding:28px 22px;border-radius:var(--r-panel);background:var(--card);border:1px solid var(--line);box-shadow:var(--neu);position:relative;transition:transform .24s,border-color .24s,box-shadow .24s}
.price-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--brand) 45%,var(--line));box-shadow:var(--shadow-lg)}
.price-card.featured{border-color:color-mix(in srgb,var(--brand) 65%,transparent);background:linear-gradient(175deg,color-mix(in srgb,var(--brand-soft) 40%,var(--card)),var(--card))}
.price-badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:700;letter-spacing:.04em;background:var(--brand-soft);color:var(--brand-hi);margin-bottom:10px;border:1px solid color-mix(in srgb,var(--brand) 25%,transparent)}
.price-card h3{margin:0 0 6px;font-size:19px;letter-spacing:-.01em}
.price-val{font-size:clamp(22px,2.6vw,30px);font-weight:850;color:var(--ink);margin:10px 0 6px;letter-spacing:-.02em}
.price-val small{font-size:13px;font-weight:500;color:var(--muted);letter-spacing:0}
.price-sub{font-size:13.5px;color:var(--muted);margin:0 0 18px;line-height:1.55}
.price-features{list-style:none;padding:0;margin:0 0 20px;border-top:1px solid var(--line);padding-top:16px;display:grid;gap:9px}
.price-features li{font-size:13.5px;color:var(--muted);display:flex;align-items:flex-start;gap:8px;line-height:1.5}
.price-features li::before{content:"✓";font-weight:800;color:var(--brand-hi);flex:none}
.price-card .btn{width:100%;margin-top:auto}

