/* 玄燈命理 API 合作 /api-service — static file (no Vite build; bump ?v= in the view). Mobile first; prefix as-.
   2026-10-28 redesign: 「玄」night (black-red ink) hero with a rotating 命盤 wheel, paper sections in between. */
.as-page {
  --as-xuan: #170E11;          /* 玄:帶紅的墨黑 */
  --as-xuan-2: #26161B;
  --as-gold: #D9B865;
  --as-gold-hi: #F1DFA8;
  --as-gold-ink: #7E5D22;
  --as-cream: #F7EEDC;          /* text on dark */
  --as-mute-d: #D3C6AF;         /* secondary text on dark (≈11:1) */
  --as-paper: #FAF6EE;
  --as-paper-2: #F3ECDF;
  --as-sheet: #FFFDF8;
  --as-ink: #1C1913;
  --as-ink-2: #4A4232;          /* secondary text on paper (≈9:1) */
  --as-rule: rgba(150, 112, 44, .26);
  --as-cin: #B4242C;
  --as-ease: cubic-bezier(.16, 1, .3, 1);
  --as-head: var(--xd-display, 'PingFang TC', 'Noto Sans TC', 'Microsoft JhengHei', sans-serif);
  --as-body: var(--xd-hei, 'PingFang TC', 'Noto Sans TC', 'Noto Sans CJK TC', 'Microsoft JhengHei', sans-serif);
  font-family: var(--as-body);
  color: var(--as-ink);
  overflow-x: clip;
}
.as-page *, .as-page *::before, .as-page *::after { box-sizing: border-box; }
.as-page .as-wrap { width: 100%; max-width: 74rem; margin: 0 auto; padding-left: var(--xd-gutter, 1rem); padding-right: var(--xd-gutter, 1rem); position: relative; }
@media (min-width: 640px) { .as-page .as-wrap { padding-left: 1.5rem; padding-right: 1.5rem; } }
.as-page #features, .as-page #apply, .as-page #process, .as-page #faq { scroll-margin-top: 6rem; }
.as-page .as-i { width: 1.25rem; height: 1.25rem; flex-shrink: 0; }
.as-page .as-i-sm { width: 1.0625rem; height: 1.0625rem; }

/* ───────── buttons ───────── */
.as-page .as-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 3rem; padding: .75rem 1.625rem; border-radius: .625rem;
  font-family: var(--as-head); font-weight: 800; font-size: 1.0625rem; letter-spacing: .04em; line-height: 1.3; text-align: center; text-decoration: none; cursor: pointer; border: 0;
  transition: transform .2s var(--as-ease), box-shadow .2s var(--as-ease), background-color .2s; }
.as-page .as-btn:active { transform: translateY(1px); }
.as-page .as-btn-gold { color: #1B1013; background: linear-gradient(180deg, #F0D688 0%, #D3AC55 100%);
  box-shadow: inset 0 1px 0 rgba(255, 248, 220, .7), 0 0 0 1px rgba(255, 228, 160, .35), 0 14px 34px -12px rgba(233, 196, 106, .6); }
.as-page .as-btn-gold:hover { box-shadow: inset 0 1px 0 rgba(255, 248, 220, .7), 0 0 0 1px rgba(255, 228, 160, .55), 0 18px 44px -10px rgba(233, 196, 106, .8); }
.as-page .as-btn-ghost { color: var(--as-gold-hi); background: rgba(217, 184, 101, .06); box-shadow: inset 0 0 0 1px rgba(217, 184, 101, .5); }
.as-page .as-btn-ghost:hover { background: rgba(217, 184, 101, .14); }
.as-page .as-btn-ink { color: #fff; background: linear-gradient(180deg, #C2323B 0%, #9C1D25 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 12px 26px -14px rgba(156, 29, 37, .8); }
.as-page .as-btn-ink:hover { background: linear-gradient(180deg, #CB3A43 0%, #A5222A 100%); }
.as-page .as-btn:focus-visible { outline: 3px solid var(--as-gold-hi); outline-offset: 3px; }
.as-page .as-paper .as-btn:focus-visible { outline-color: var(--as-gold-ink); }

/* ───────── night backgrounds ───────── */
.as-page .as-hero, .as-page .as-night, .as-page .as-final { position: relative; overflow: hidden; color: var(--as-cream);
  background:
    radial-gradient(56rem 36rem at 78% 30%, rgba(180, 36, 44, .26), transparent 62%),
    radial-gradient(38rem 28rem at 8% 92%, rgba(217, 184, 101, .10), transparent 62%),
    linear-gradient(180deg, #1D1216 0%, var(--as-xuan) 100%); }
.as-page .as-stars { position: absolute; inset: 0; pointer-events: none; opacity: .75;
  background-image:
    radial-gradient(1.2px 1.2px at 6% 14%, #FFF1CC 50%, transparent 51%), radial-gradient(1px 1px at 18% 62%, #FFF1CC 50%, transparent 51%),
    radial-gradient(1.4px 1.4px at 27% 30%, #F6E2AE 50%, transparent 51%), radial-gradient(1px 1px at 39% 84%, #FFF1CC 50%, transparent 51%),
    radial-gradient(1px 1px at 47% 9%, #FFF1CC 50%, transparent 51%), radial-gradient(1.6px 1.6px at 58% 48%, #F6E2AE 50%, transparent 51%),
    radial-gradient(1px 1px at 66% 18%, #FFF1CC 50%, transparent 51%), radial-gradient(1.2px 1.2px at 74% 76%, #FFF1CC 50%, transparent 51%),
    radial-gradient(1px 1px at 86% 40%, #FFF1CC 50%, transparent 51%), radial-gradient(1.4px 1.4px at 93% 8%, #F6E2AE 50%, transparent 51%),
    radial-gradient(1px 1px at 96% 70%, #FFF1CC 50%, transparent 51%), radial-gradient(1px 1px at 12% 90%, #F6E2AE 50%, transparent 51%);
  background-size: 100% 100%; }

/* ───────── hero ───────── */
.as-page .as-hero { padding: 2.75rem 0 1rem; }
.as-page .as-hero-in { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; align-items: center; }
.as-page .as-hero-copy { text-align: center; position: relative; z-index: 2; }
.as-page .as-h1 { margin: 0; font-family: var(--as-head); font-weight: 900; font-size: calc(clamp(1.875rem, 8vw, 3.5rem) / var(--tz, 1)); line-height: 1.28; letter-spacing: .02em;
  color: var(--as-cream); background: linear-gradient(180deg, #FFF8E8 10%, #E7CC86 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.as-page .as-l { display: block; } /* 不能寫 nowrap:手機字放大時標題會被切掉(11-03) */
.as-page .as-h1-a { font-size: 1.5em; line-height: 1.12; letter-spacing: .01em; }
.as-page .as-h1-a::after { content: '玄'; display: inline-grid; place-items: center; vertical-align: .55em; margin-left: .3em; width: 1.25em; height: 1.25em; border-radius: .2em;
  font-family: var(--xd-brush, serif); font-size: .3em; font-weight: 700; letter-spacing: 0; line-height: 1; background: var(--as-cin); color: #FFF4E6; -webkit-text-fill-color: #FFF4E6;
  box-shadow: inset 0 0 0 2px rgba(255, 230, 210, .25); transform: rotate(-4deg); }
.as-page .as-h1-b { margin-top: .35em; font-size: .78em; letter-spacing: .04em; }
.as-page p, .as-page li { text-wrap: pretty; }
.as-page .as-lead { margin: 1rem auto 0; max-width: 30em; font-size: 1.0625rem; line-height: 1.8; color: var(--as-mute-d); }
.as-page .as-cta-row { display: flex; flex-direction: column; align-items: center; gap: .75rem; margin-top: 1.75rem; }
.as-page .as-cta-row .as-btn { width: 100%; max-width: 21rem; }

.as-page .as-hero-art { position: relative; width: min(100%, 23rem); margin: .5rem auto 0; }
.as-page .as-hero-art::before { content: ''; position: absolute; inset: 8%; border-radius: 50%; background: radial-gradient(circle, rgba(233, 196, 106, .18), transparent 65%); filter: blur(6px); }
.as-page .as-wheel { position: relative; display: block; width: 100%; height: auto; overflow: visible; animation: as-rise 1.6s var(--as-ease) both; }
.as-page .as-ln { fill: none; stroke: rgba(217, 184, 101, .6); stroke-width: 1; }
.as-page .as-draw { stroke-dasharray: 1; stroke-dashoffset: 1; animation: as-draw 2.4s var(--as-ease) .15s forwards; }
.as-page .as-ln-soft { fill: none; stroke: rgba(217, 184, 101, .24); stroke-width: 1; }
.as-page .as-tick { stroke: rgba(217, 184, 101, .42); stroke-width: 1; }
.as-page .as-glyph { fill: #EAD49C; font-family: var(--xd-brush, serif); font-size: 21px; text-anchor: middle; dominant-baseline: central; }
.as-page .as-glyph-sm { font-size: 15px; fill: rgba(234, 212, 156, .72); }
.as-page .as-yao { stroke: #E2C57E; stroke-width: 3; }
.as-page .as-asp { fill: none; stroke: rgba(241, 223, 168, .32); stroke-width: .8; }
.as-page .as-asp-red { stroke: rgba(232, 98, 88, .62); }
.as-page .as-ring, .as-page .as-lamp { transform-box: view-box; transform-origin: 200px 200px; }
.as-page .as-ring-1 { animation: as-spin 240s linear infinite; }
.as-page .as-ring-2 { animation: as-spin 180s linear infinite reverse; }
.as-page .as-ring-3 { animation: as-spin 110s linear infinite; }
.as-page .as-lamp { animation: as-glow 4.5s ease-in-out infinite alternate; }
@keyframes as-spin { to { transform: rotate(360deg); } }
@keyframes as-draw { to { stroke-dashoffset: 0; } }
@keyframes as-glow { from { opacity: .7; transform: scale(.9); } to { opacity: 1; transform: scale(1.08); } }
@keyframes as-rise { from { opacity: 0; transform: scale(.94) rotate(-8deg); } to { opacity: 1; transform: none; } }

/* sample response card */
.as-page .as-code { position: relative; z-index: 2; width: min(100%, 20.5rem); margin: -3.25rem auto 0; border-radius: .875rem; overflow: hidden;
  background: rgba(22, 13, 16, .86); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  box-shadow: inset 0 0 0 1px rgba(217, 184, 101, .32), 0 30px 60px -24px rgba(0, 0, 0, .85); text-align: left; }
.as-page .as-code figcaption { display: flex; align-items: center; gap: .375rem; padding: .625rem .875rem; border-bottom: 1px solid rgba(217, 184, 101, .18); background: rgba(255, 240, 200, .04); }
.as-page .as-code figcaption code { margin-left: .375rem; font-size: .8125rem; color: #CDBB98; overflow-wrap: anywhere; }
.as-page .as-dot { width: .5rem; height: .5rem; border-radius: 50%; background: rgba(217, 184, 101, .35); flex-shrink: 0; }
.as-page .as-dot:first-child { background: #C2323B; }
.as-page .as-code pre { margin: 0; padding: .875rem 1rem 1rem; overflow-x: auto; font-size: .8125rem; line-height: 1.65; color: #CFC2AA; tab-size: 2; }
.as-page .as-code pre code, .as-page .as-code figcaption code { font-family: ui-monospace, 'SF Mono', Menlo, Consolas, 'Noto Sans Mono CJK TC', monospace; }
.as-page .as-code .k { color: var(--as-gold-hi); }
.as-page .as-code .s { color: #F4C2A6; }
.as-page .as-code .n { color: #9FD4B4; }
.as-page .as-code .c { color: #8F8272; }

/* proof points */
.as-page .as-proof { list-style: none; margin: 2.5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(217, 184, 101, .28); }
.as-page .as-proof li { position: relative; padding: 1.375rem .75rem 1.5rem; display: flex; flex-direction: column; gap: .5rem; }
.as-page .as-proof li::before { content: ''; position: absolute; top: -1px; left: .75rem; width: 1.5rem; height: 3px; background: var(--as-gold); }
.as-page .as-proof li:nth-child(odd) { padding-left: 0; }
.as-page .as-proof li:nth-child(odd)::before { left: 0; }
.as-page .as-proof li:nth-child(even) { border-left: 1px solid rgba(217, 184, 101, .18); }
.as-page .as-proof li:nth-child(n+3) { border-top: 1px solid rgba(217, 184, 101, .18); }
.as-page .as-big { font-family: var(--as-head); font-weight: 900; font-size: clamp(2.25rem, 10vw, 3.75rem); line-height: 1; letter-spacing: .01em; font-variant-numeric: tabular-nums;
  background: linear-gradient(180deg, #FFF3D1, #D9B865); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: var(--as-gold); }
.as-page .as-big-word { font-size: clamp(1.625rem, 7vw, 2.75rem); line-height: 1.15; min-height: 1em; }
.as-page .as-cap { font-size: .9375rem; line-height: 1.65; color: var(--as-mute-d); }

/* ───────── sections ───────── */
.as-page .as-sec { padding: clamp(3.5rem, 10vw, 6.5rem) 0; }
.as-page .as-paper { background: var(--as-paper); }
.as-page .as-paper-2 { background: var(--as-paper-2); }
.as-page .as-head { max-width: 34em; margin: 0 auto 2.25rem; text-align: center; }
.as-page .as-h2 { margin: 0; font-family: var(--as-head); font-weight: 900; font-size: clamp(1.625rem, 6.4vw, 2.625rem); line-height: 1.32; letter-spacing: .02em; color: var(--as-ink); text-wrap: balance; }
.as-page .as-sub { margin: .875rem 0 0; font-size: 1rem; line-height: 1.8; color: var(--as-ink-2); }
.as-page .as-night .as-h2 { color: var(--as-cream); }
.as-page .as-night .as-sub { color: var(--as-mute-d); }

/* 合盤 showcase */
.as-page .as-syn { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.125rem; }
.as-page .as-syn-card { --tone: #A87A26; --tone-bg: rgba(168, 122, 38, .08); position: relative; overflow: hidden; padding: 1.75rem 1.5rem 1.625rem; border-radius: 1.25rem;
  background: linear-gradient(180deg, var(--tone-bg), rgba(255, 253, 248, 0) 55%), var(--as-sheet);
  box-shadow: inset 0 0 0 1px var(--as-rule), 0 1px 2px rgba(60, 45, 20, .05), 0 22px 44px -28px rgba(60, 45, 20, .45); }
.as-page .as-syn-card::after { content: ''; position: absolute; left: 1.5rem; right: 1.5rem; top: 0; height: 3px; border-radius: 0 0 3px 3px; background: var(--tone); }
.as-page .as-syn-card.is-violet { --tone: #6E4C93; --tone-bg: rgba(110, 76, 147, .08); }
.as-page .as-syn-card.is-blue { --tone: #2E5F8E; --tone-bg: rgba(46, 95, 142, .08); }
.as-page .as-syn-glyph { position: absolute; right: -.25rem; top: -1.25rem; font-family: var(--xd-brush, serif); font-size: 8.5rem; line-height: 1; color: var(--tone); opacity: .1; pointer-events: none; }
.as-page .as-syn-rings { display: block; width: 4.5rem; height: auto; margin-bottom: 1rem; }
.as-page .as-syn-rings circle { fill: none; stroke: var(--tone); stroke-width: 2.2; }
.as-page .as-syn-rings circle + circle { fill: var(--tone-bg); }
.as-page .as-syn-card h3 { position: relative; margin: 0; display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; font-family: var(--as-head); font-weight: 900; font-size: 1.625rem; line-height: 1.3; color: var(--as-ink); }
.as-page .as-syn-blurb { position: relative; margin: .5rem 0 0; font-size: 1rem; line-height: 1.75; color: var(--as-ink-2); }
.as-page .as-syn-card ul { list-style: none; margin: 1.125rem 0 0; padding: 1rem 0 0; border-top: 1px dashed var(--as-rule); display: grid; gap: .5rem; }
.as-page .as-syn-card li { display: flex; gap: .5rem; align-items: flex-start; font-size: .9375rem; line-height: 1.65; color: var(--as-ink); }
.as-page .as-syn-card li .as-i { color: var(--tone); margin-top: .25rem; }

/* features */
.as-page .as-feat { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; align-items: start; }
.as-page .as-fgroup { min-width: 0; padding: 1.25rem 1.25rem .5rem; border-radius: 1rem; background: var(--as-sheet); box-shadow: inset 0 0 0 1px var(--as-rule); }
.as-page .as-fgroup-h { margin: 0 0 .25rem; display: flex; align-items: center; gap: .75rem; font-family: var(--as-head); font-weight: 800; font-size: 1.1875rem; line-height: 1.4; color: var(--as-ink); }
.as-page .as-fico { display: inline-grid; place-items: center; width: 2.375rem; height: 2.375rem; flex-shrink: 0; border-radius: .625rem; background: var(--as-xuan-2); color: var(--as-gold); }
.as-page .as-count { margin-left: auto; font-family: var(--as-body); font-size: .8125rem; font-weight: 700; color: var(--as-gold-ink); }
.as-page .as-count::after { content: ' 項'; }
.as-page .as-flist { list-style: none; margin: 0; padding: 0; }
.as-page .as-flist li { display: grid; gap: .125rem; padding: .75rem 0; border-top: 1px dashed var(--as-rule); }
.as-page .as-flist li:first-child { border-top: 0; }
.as-page .as-flist b { display: flex; align-items: center; flex-wrap: wrap; gap: .375rem; font-size: 1rem; font-weight: 700; line-height: 1.5; color: var(--as-ink); }
.as-page .as-flist li > span { font-size: .9375rem; line-height: 1.7; color: var(--as-ink-2); }
.as-page .as-flist em { justify-self: start; margin-top: .25rem; font-style: normal; }
.as-page .as-chip { display: inline-flex; align-items: center; font-family: var(--as-body); font-size: .8125rem; font-weight: 700; line-height: 1.5; padding: .0625rem .625rem; border-radius: 999px; background: #F3E3B5; color: #5E441A; letter-spacing: .02em; }
.as-page .as-chip.is-soon { background: #E9E2D3; color: #4F4636; }
.as-page .as-soon { padding-bottom: 1.25rem; background: transparent; box-shadow: inset 0 0 0 1px var(--as-rule); }
.as-page .as-fico.is-soon { background: #E9E2D3; color: #4F4636; }
.as-page .as-soon-p { margin: .5rem 0 .75rem; font-size: .9375rem; line-height: 1.7; color: var(--as-ink-2); }
.as-page .as-soon-chips { display: flex; flex-wrap: wrap; gap: .5rem; }

/* process */
.as-page .as-flow { list-style: none; margin: 0 auto; padding: 0; max-width: 30rem; display: grid; gap: 0; }
.as-page .as-flow li { position: relative; display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); column-gap: 1rem; padding-bottom: 1.75rem; }
.as-page .as-flow li:last-child { padding-bottom: 0; }
.as-page .as-flow li::before { content: ''; position: absolute; left: 1.375rem; top: 2.75rem; bottom: .25rem; width: 1px; background: linear-gradient(180deg, rgba(217, 184, 101, .6), rgba(217, 184, 101, .12)); }
.as-page .as-flow li:last-child::before { display: none; }
.as-page .as-step { grid-row: span 2; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--as-xuan-2);
  font-family: var(--as-head); font-weight: 900; font-size: 1.125rem; color: var(--as-gold-hi);
  box-shadow: inset 0 0 0 1px var(--as-gold), 0 0 0 5px rgba(217, 184, 101, .07), 0 0 26px rgba(217, 184, 101, .28); }
.as-page .as-flow b { align-self: end; font-family: var(--as-head); font-weight: 800; font-size: 1.1875rem; line-height: 1.4; color: var(--as-cream); padding-top: .375rem; }
.as-page .as-flow li > span:last-child { font-size: .9375rem; line-height: 1.7; color: var(--as-mute-d); margin-top: .25rem; }

.as-page .as-price { margin: 3rem auto 0; max-width: 40rem; padding-top: 2.25rem; text-align: center; border-top: 1px solid rgba(217, 184, 101, .22); }
.as-page .as-price-tag { margin: 0; font-family: var(--as-head); font-weight: 900; font-size: clamp(1.75rem, 7vw, 2.5rem); line-height: 1.25; letter-spacing: .06em;
  background: linear-gradient(180deg, #FFF3D1, #D9B865); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: var(--as-gold); }
.as-page .as-price-rule { margin: .875rem auto 0; max-width: 30em; font-size: 1rem; line-height: 1.8; color: var(--as-mute-d); }
.as-page .as-price-note { margin: .75rem 0 0; font-size: .875rem; color: var(--as-mute-d); }
.as-page .as-privacy { display: inline-flex; align-items: center; gap: .5rem; margin: 1.25rem 0 0; padding: .5rem 1rem; border-radius: 999px; font-size: .9375rem; color: #CFE6D6; background: rgba(120, 190, 150, .1); box-shadow: inset 0 0 0 1px rgba(150, 210, 175, .25); }
.as-page .as-plans { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; text-align: left; }
.as-page .as-plan { padding: 1.125rem 1.25rem; border-radius: .875rem; background: rgba(255, 240, 200, .04); box-shadow: inset 0 0 0 1px rgba(217, 184, 101, .3); }
.as-page .as-plan h3 { margin: 0; font-family: var(--as-head); font-weight: 800; font-size: 1.125rem; color: var(--as-cream); }
.as-page .as-plan-fee { margin: .25rem 0 0; font-family: var(--as-head); font-weight: 900; font-size: 1.5rem; color: var(--as-gold-hi); font-variant-numeric: tabular-nums; }
.as-page .as-plan-fee small { font-size: .875rem; font-weight: 500; color: var(--as-mute-d); }
.as-page .as-plan-desc { margin: .25rem 0 0; font-size: .875rem; line-height: 1.6; color: var(--as-mute-d); }

/* apply */
.as-page .as-apply { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
.as-page .as-apply-side { text-align: center; max-width: 34em; margin: 0 auto; }
.as-page .as-mail { display: inline-flex; align-items: center; flex-wrap: wrap; justify-content: center; gap: .5rem; margin: 1rem 0 0; font-size: .9375rem; line-height: 1.6; color: var(--as-ink-2); }
.as-page .as-mail a { color: var(--as-gold-ink); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.as-page .as-apply-main { min-width: 0; padding: 1.375rem 1.125rem 1.5rem; border-radius: 1.25rem; background: var(--as-sheet);
  box-shadow: inset 0 0 0 1px var(--as-rule), 0 1px 2px rgba(60, 45, 20, .05), 0 26px 50px -30px rgba(60, 45, 20, .45); }
.as-page .as-form { display: grid; gap: 1.125rem; }
.as-page .as-grid2 { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.125rem; }
.as-page .as-field { display: block; min-width: 0; }
.as-page .as-field > span { display: block; font-size: .9375rem; font-weight: 700; line-height: 1.5; color: var(--as-ink); }
.as-page .as-field em { font-style: normal; font-size: .8125rem; font-weight: 700; color: var(--as-cin); margin-left: .25rem; }
.as-page .as-field small, .as-page .as-pick legend small { font-size: .8125rem; font-weight: 500; color: var(--as-ink-2); margin-left: .25rem; }
.as-page .as-field input, .as-page .as-field select, .as-page .as-field textarea {
  display: block; width: 100%; min-width: 0; min-height: 3rem; margin-top: .375rem; padding: .6875rem .875rem; font: inherit; font-size: 1rem; line-height: 1.5; color: var(--as-ink);
  background: #fff; border: 1px solid rgba(150, 112, 44, .42); border-radius: .625rem; -webkit-appearance: none; appearance: none; }
.as-page .as-field select { padding-right: 2.5rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237E5D22' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .75rem center; background-size: 1.125rem; }
.as-page .as-field textarea { min-height: 7.5rem; resize: vertical; line-height: 1.7; }
.as-page .as-field input::placeholder, .as-page .as-field textarea::placeholder { color: #8A7F68; }
.as-page .as-field input:focus, .as-page .as-field select:focus, .as-page .as-field textarea:focus { outline: 2px solid rgba(168, 122, 38, .55); outline-offset: 1px; border-color: #A87A26; }
.as-page .as-pick { margin: 0; padding: 0; border: 0; min-width: 0; }
.as-page .as-pick legend { padding: 0; margin-bottom: .5rem; font-size: .9375rem; font-weight: 700; color: var(--as-ink); }
.as-page .as-pick-syn, .as-page .as-pick-grp { display: flex; flex-wrap: wrap; gap: .5rem; }
.as-page .as-pick-grp { margin-top: .5rem; }
.as-page .as-opt { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; padding: .375rem .9375rem .375rem .75rem; border-radius: 999px; cursor: pointer;
  font-size: .9375rem; font-weight: 600; line-height: 1.4; color: var(--as-ink); background: #fff; box-shadow: inset 0 0 0 1px rgba(150, 112, 44, .32); transition: background-color .15s, box-shadow .15s, color .15s; }
.as-page .as-opt input { width: 1.125rem; height: 1.125rem; margin: 0; flex-shrink: 0; accent-color: var(--as-cin); }
.as-page .as-opt.is-hot { background: #FBF1D6; box-shadow: inset 0 0 0 1.5px #C9A24E; font-weight: 700; }
.as-page .as-opt:has(input:checked) { background: var(--as-xuan-2); color: var(--as-gold-hi); box-shadow: inset 0 0 0 1.5px var(--as-xuan-2); }
.as-page .as-opt:has(input:checked) input { accent-color: var(--as-gold); }
.as-page .as-opt:has(input:focus-visible) { outline: 2px solid var(--as-gold-ink); outline-offset: 2px; }
.as-page .as-agree { display: flex; align-items: flex-start; gap: .625rem; font-size: .9375rem; line-height: 1.65; color: var(--as-ink-2); cursor: pointer; }
.as-page .as-agree input { width: 1.25rem; height: 1.25rem; margin: .125rem 0 0; flex-shrink: 0; accent-color: var(--as-cin); }
.as-page .as-agree a { color: var(--as-gold-ink); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.as-page .as-submit { width: 100%; min-height: 3.25rem; }
.as-page .as-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.as-page .as-ok { display: flex; align-items: center; gap: 1rem; padding: 1.5rem 1.25rem; border-radius: 1rem; background: var(--as-xuan-2); color: var(--as-cream); }
.as-page .as-ok-seal { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; flex-shrink: 0; background: linear-gradient(180deg, #F0D688, #D3AC55); color: #1B1013; }
.as-page .as-ok b { display: block; font-family: var(--as-head); font-weight: 900; font-size: 1.375rem; line-height: 1.35; }
.as-page .as-ok p { margin: .25rem 0 0; font-size: 1rem; line-height: 1.7; color: var(--as-mute-d); }
.as-page .as-err { margin-bottom: 1rem; padding: .875rem 1rem; border-radius: .75rem; background: #FBECEA; color: #8C2A1C; font-size: .9375rem; line-height: 1.6; box-shadow: inset 0 0 0 1px rgba(140, 42, 28, .2); }
.as-page .as-err p { margin: 0; }

/* faq */
.as-page .as-faq { max-width: 46rem; margin: 0 auto; display: grid; gap: .75rem; }
.as-page .as-faq details { border-radius: 1rem; background: var(--as-sheet); box-shadow: inset 0 0 0 1px var(--as-rule); }
.as-page .as-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3.25rem; padding: 1rem 1.25rem; cursor: pointer; list-style: none;
  font-family: var(--as-head); font-weight: 800; font-size: 1.0625rem; line-height: 1.5; color: var(--as-ink); }
.as-page .as-faq summary::-webkit-details-marker { display: none; }
.as-page .as-faq summary::after { content: ''; flex-shrink: 0; width: .625rem; height: .625rem; margin-right: .25rem; border-right: 2px solid var(--as-gold-ink); border-bottom: 2px solid var(--as-gold-ink); transform: rotate(45deg) translateY(-25%); transition: transform .2s var(--as-ease); }
.as-page .as-faq details[open] summary::after { transform: rotate(-135deg) translateY(-25%); }
.as-page .as-faq summary:focus-visible { outline: 2px solid var(--as-gold-ink); outline-offset: 2px; border-radius: 1rem; }
.as-page .as-faq details p { margin: 0; padding: 0 1.25rem 1.25rem; font-size: 1rem; line-height: 1.85; color: var(--as-ink-2); }
.as-page .as-err p + p { margin-top: .25rem; }

/* final band */
.as-page .as-final { padding: clamp(3.5rem, 10vw, 5.5rem) 0; text-align: center; }
.as-page .as-final-in { display: flex; flex-direction: column; align-items: center; gap: 1.5rem; }
.as-page .as-final-t { margin: 0; max-width: 20em; font-family: var(--as-head); font-weight: 900; font-size: clamp(1.375rem, 5.4vw, 2.125rem); line-height: 1.45; color: var(--as-cream); text-wrap: balance; }
.as-page .as-final .as-btn { width: 100%; max-width: 21rem; }

/* ───────── ≥ 640 ───────── */
@media (min-width: 640px) {
  .as-page .as-grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .as-page .as-apply-main { padding: 2rem; }
  .as-page .as-submit { width: auto; min-width: 16rem; justify-self: center; }
  .as-page .as-cta-row { flex-direction: row; justify-content: center; }
  .as-page .as-cta-row .as-btn { width: auto; }
  .as-page .as-final .as-btn { width: auto; }
  .as-page .as-feat { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row dense; align-items: stretch; }
  .as-page .as-fgroup.is-tall { grid-row: span 2; }
  .as-page .as-sub, .as-page .as-lead { font-size: 1.0625rem; }
}
/* ───────── ≥ 960 ───────── */
@media (min-width: 960px) {
  .as-page .as-hero { padding: 4.5rem 0 1.5rem; }
  .as-page .as-hero-in { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 2rem; min-height: 34rem; }
  .as-page .as-hero-copy { text-align: left; }
  .as-page .as-lead { margin-left: 0; font-size: 1.25rem; }
  .as-page .as-cta-row { justify-content: flex-start; margin-top: 2.25rem; }
  .as-page .as-hero-art { width: 100%; max-width: 31rem; margin: 0 0 0 auto; }
  .as-page .as-hero-art { margin-bottom: 4rem; }
  .as-page .as-code { position: absolute; left: -4.5rem; bottom: -4.5rem; margin: 0; width: 19rem; }
  .as-page .as-proof { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 3.5rem; }
  .as-page .as-proof li, .as-page .as-proof li:nth-child(odd) { padding: 1.75rem 1.5rem 2rem; border-top: 0; border-left: 1px solid rgba(217, 184, 101, .18); }
  .as-page .as-proof li:first-child { padding-left: 0; border-left: 0; }
  .as-page .as-proof li::before, .as-page .as-proof li:nth-child(odd)::before { left: 1.5rem; }
  .as-page .as-proof li:first-child::before { left: 0; }
  .as-page .as-syn { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
  .as-page .as-syn-card { padding: 2.25rem 2rem 2rem; }
  .as-page .as-syn-card h3 { font-size: 1.875rem; }
  .as-page .as-flow { max-width: none; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
  .as-page .as-flow li { display: flex; flex-direction: column; padding-bottom: 0; }
  .as-page .as-flow li::before { left: 3.5rem; right: -.75rem; top: 1.375rem; bottom: auto; width: auto; height: 1px; background: linear-gradient(90deg, rgba(217, 184, 101, .6), rgba(217, 184, 101, .12)); }
  .as-page .as-step { margin-bottom: 1rem; }
  .as-page .as-flow b { padding-top: 0; align-self: auto; }
  .as-page .as-plans { grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
  .as-page .as-apply { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 3.5rem; align-items: start; }
  .as-page .as-apply-side { text-align: left; margin: 0; padding-top: 1rem; position: sticky; top: 7rem; }
  .as-page .as-mail { justify-content: flex-start; }
}
@media (min-width: 1100px) {
  .as-page .as-feat { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
  .as-page .as-soon { grid-column: span 2; }
}

@media (prefers-reduced-motion: reduce) {
  .as-page .as-wheel, .as-page .as-ring, .as-page .as-lamp, .as-page .as-draw { animation: none !important; }
  .as-page .as-draw { stroke-dashoffset: 0; }
  .as-page .as-btn { transition: none; }
}

/* 2026-10-28 AI 解讀上線:功能清單的「AI 解讀/看照片」標籤 + AI 卡 */
.as-page .as-chip.is-ai { background: #1F2A44; color: #F3E3B5; font-size: .75rem; }
.as-page .as-ai { background: linear-gradient(160deg, #1B1F33 0%, #2A2140 100%); box-shadow: none; }
.as-page .as-ai .as-fgroup-h, .as-page .as-ai .as-count { color: #F3E3B5; }
.as-page .as-ai .as-soon-p { color: #D9D3C4; }
.as-page .as-ai .as-fico { color: #E8C877; }
