/* AI x UIUX 工作坊 Landing Page · components.css
   只引用 tokens.css 的變數。規格見 guideline/index.html。例外行都有「例外」註解。 */

/* ===== Base ===== */
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--lp-layout-head) + var(--lp-space-16));-webkit-text-size-adjust:100%;interpolate-size:allow-keywords}
body{font-family:var(--lp-font-sans);font-size:var(--lp-fs-body);line-height:var(--lp-lh-body);color:var(--lp-text-body);background:var(--lp-surface-page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;text-wrap:pretty}
img,svg{display:block}
a{color:inherit}
ul,ol{list-style:none;padding:0}
h1,h2,h3{color:var(--lp-text-primary);font-weight:var(--lp-fw-bold)}
:focus-visible{outline:var(--lp-c-marker-h) solid var(--lp-accent-default);outline-offset:var(--lp-space-2);border-radius:var(--lp-space-4)}
[data-static] *,[data-static] *::before,[data-static] *::after{animation:none!important;transition:none!important}
[data-static]{scroll-behavior:auto}
.lp-i{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.lp-vh{position:absolute;width:var(--lp-c-stroke);height:var(--lp-c-stroke);overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.lp-ln{display:block}
.lp-nb{white-space:nowrap}
.lp-wrap{width:100%;max-width:calc(var(--lp-layout-container) + var(--lp-layout-margin)*2);margin-inline:auto;padding-inline:var(--lp-layout-margin)}

/* ===== 按鈕 .lp-btn ===== */
.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--lp-space-8);height:var(--lp-c-btn-h);padding:0 var(--lp-c-btn-px);border-radius:var(--lp-radius-full);
  font-size:var(--lp-fs-btn);font-weight:var(--lp-fw-bold);line-height:var(--lp-lh-btn);color:var(--lp-text-on-accent);text-decoration:none;white-space:nowrap;
  background:var(--lp-gradient-btn);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.lp-btn:hover{filter:brightness(1.05);transform:translateY(calc(var(--lp-c-stroke)*-1))}
.lp-btn:active{filter:brightness(.97);transform:none}
.lp-btn .lp-i{font-size:var(--lp-c-ico-md);stroke-width:2;transition:transform .2s ease}
.lp-btn:hover .lp-i{transform:translateX(var(--lp-space-4))}
.lp-btn--block{display:flex;width:100%}
.lp-btn--inverse{background:var(--lp-surface-card);color:var(--lp-text-primary);box-shadow:var(--lp-shadow-btn)}
.lp-btn--inverse:hover{filter:none;box-shadow:var(--lp-shadow-btn-hover)}
.lp-btn--sm{height:var(--lp-c-btn-h-sm);padding:0 var(--lp-c-btn-px-sm);font-size:var(--lp-fs-btn-sm);line-height:var(--lp-lh-btn-sm)}

/* ===== Header .lp-head ===== */
.lp-head{position:sticky;top:0;z-index:50;height:var(--lp-layout-head);background:var(--lp-surface-head);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);box-shadow:var(--lp-shadow-head);transition:background-color .15s linear} /* 例外：blur 無對應 token，Figma 為 Background blur 32 */
.lp-head.is-merged{background:var(--lp-surface-card)}
.lp-head__in{display:flex;align-items:center;height:100%}
.lp-logo{font-size:var(--lp-fs-logo);font-weight:var(--lp-fw-bold);line-height:var(--lp-lh-logo);letter-spacing:.06em;color:var(--lp-text-primary);text-decoration:none;transition:opacity .15s linear,visibility .15s linear}
.lp-head.is-merged .lp-logo{opacity:0;visibility:hidden}

/* ===== Hero／Banner .lp-hero ===== */
.lp-hero{position:relative;height:var(--lp-layout-hero);background:var(--lp-surface-hero);color:var(--lp-text-on-dark);overflow:hidden;isolation:isolate}
.lp-hero__media{position:absolute;inset:0;z-index:-1;background:var(--lp-surface-hero)}
.lp-hero__media::after{content:"";position:absolute;inset:0;background:var(--lp-gradient-scrim-x),var(--lp-gradient-scrim-y)}
.lp-hero__media img{width:100%;height:100%;object-fit:cover;object-position:72% 50%}
.lp-hero__in{display:flex;flex-direction:column;justify-content:flex-end;gap:var(--lp-space-24);height:100%;padding-block:var(--lp-space-48)}
.lp-hero__main{max-width:600px} /* 例外：Hero 文字欄寬，對應 Banner 安全區 */
.lp-hero__title{font-size:var(--lp-fs-hero);line-height:var(--lp-lh-hero);letter-spacing:-.005em;color:var(--lp-text-on-dark)}
.lp-hero__sub{margin-top:var(--lp-space-14);font-size:var(--lp-fs-lead);line-height:var(--lp-lh-lead);color:var(--lp-text-on-dark-body)}
.lp-hero__cta{display:flex;align-items:center;gap:var(--lp-space-24);margin-top:var(--lp-space-32)}
.lp-hero__price{display:flex;align-items:baseline;gap:var(--lp-space-10)}
.lp-hero__price span{font-size:var(--lp-fs-caption);line-height:var(--lp-lh-price-md);color:var(--lp-text-on-dark-muted)}
.lp-hero__price b{font-size:var(--lp-fs-price-md);line-height:var(--lp-lh-price-md);font-weight:var(--lp-fw-semibold);font-variant-numeric:tabular-nums;color:var(--lp-text-on-dark)}

/* ===== 徽章 .lp-badge ===== */
.lp-badge{display:inline-flex;align-items:center;align-self:flex-start;padding:var(--lp-space-6) var(--lp-space-14);border-radius:var(--lp-radius-full);
  font-size:var(--lp-fs-label);font-weight:var(--lp-fw-medium);line-height:var(--lp-lh-label);color:var(--lp-text-on-dark);background:var(--lp-surface-glass);box-shadow:var(--lp-shadow-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)} /* 例外：blur 無對應 token，Figma 為 Background blur 20 */

/* ===== 版面 .lp-layout ===== */
.lp-layout{position:relative;display:grid;grid-template-columns:minmax(0,1fr) var(--lp-c-aside);gap:var(--lp-layout-gutter);align-items:start;padding-block:var(--lp-space-28) var(--lp-space-72)}
.lp-spill{position:absolute;inset:0 0 auto;height:280px;pointer-events:none;background:var(--lp-gradient-spill)} /* 例外：光暈範圍 */
.lp-main{position:relative;display:flex;flex-direction:column;gap:var(--lp-layout-gap);min-width:0}

/* ===== 牌卡 .lp-card ===== */
.lp-card{background:var(--lp-surface-card);border-radius:var(--lp-radius-card);padding:var(--lp-layout-pad)}
.lp-card__body{margin-top:var(--lp-space-24)}

/* ===== 區塊標題 .lp-title ===== */
.lp-title{display:flex;align-items:center;gap:var(--lp-space-12);font-size:var(--lp-fs-h2);line-height:var(--lp-lh-h2)}
.lp-title::before{content:"";flex:none;width:var(--lp-c-bar-w);height:var(--lp-c-bar-h);border-radius:var(--lp-radius-xs);background:var(--lp-gradient-bar)}

/* ===== 錨點列 .lp-anchor ===== */
.lp-anchor{position:sticky;top:calc((var(--lp-layout-head) - var(--lp-layout-bar))/2);z-index:60;height:var(--lp-layout-bar);border-radius:var(--lp-radius-card)}
.lp-anchor__scroll{position:relative;display:flex;height:100%;background:var(--lp-surface-card);transition:transform .2s ease;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:var(--lp-radius-card)}
.lp-anchor__scroll::-webkit-scrollbar{display:none}
.lp-anchor.is-stuck .lp-anchor__scroll{height:var(--lp-layout-head);margin-block:calc((var(--lp-layout-bar) - var(--lp-layout-head))/2);background:transparent;border-radius:0;transform:translateX(calc(var(--shift,0px)*-1))}
.lp-anchor a{flex:1 0 auto;display:flex;align-items:center;justify-content:center;height:100%;padding:0 var(--lp-space-12);font-size:var(--lp-fs-nav);line-height:var(--lp-lh-nav);color:var(--lp-text-tertiary);text-decoration:none;white-space:nowrap;transition:color .2s ease}
.lp-anchor a:hover{color:var(--lp-text-primary)}
.lp-anchor a.is-active{color:var(--lp-text-primary);font-weight:var(--lp-fw-semibold)}
.lp-anchor__glow{position:absolute;left:0;bottom:0;width:0;height:var(--lp-c-glow-h);border-radius:var(--lp-c-stroke);background:var(--lp-gradient-glow);transition:transform .32s cubic-bezier(.2,.8,.2,1),width .32s cubic-bezier(.2,.8,.2,1)}

/* ===== 內文區 .lp-prose ===== */
.lp-prose p+p,.lp-prose p+.lp-points,.lp-prose .lp-points+p{margin-top:var(--lp-space-16)}
.lp-lead-in{font-weight:var(--lp-fw-medium);color:var(--lp-text-primary)}

/* ===== 條列磚 .lp-points ===== */
.lp-points{padding:var(--lp-space-6) var(--lp-space-20);background:var(--lp-surface-tile);border-radius:var(--lp-radius-inner)}
.lp-points li{position:relative;padding:var(--lp-space-12) 0 var(--lp-space-12) var(--lp-space-18);font-size:var(--lp-fs-body-sm);line-height:var(--lp-lh-body-sm)}
.lp-points li+li{border-top:var(--lp-c-stroke) solid var(--lp-border-default)}
.lp-points li::before,.lp-session li::before,.lp-spk li::before{content:"";position:absolute;left:0;width:var(--lp-c-marker-w);height:var(--lp-c-marker-h);border-radius:var(--lp-c-stroke);background:var(--lp-accent-default)}
.lp-points li::before{top:calc(var(--lp-space-12) + var(--lp-lh-body-sm)/2 - var(--lp-c-stroke))}

/* ===== 強調句 .lp-callout ===== */
.lp-callout{padding:var(--lp-space-18) var(--lp-space-20);background:var(--lp-surface-tint);border-radius:var(--lp-radius-inner);font-weight:var(--lp-fw-medium);color:var(--lp-text-primary)}

/* ===== 對象列 .lp-fit ===== */
.lp-fit{margin-top:var(--lp-space-8)}
.lp-fit li{display:flex;gap:var(--lp-space-16);padding:var(--lp-space-18) 0}
.lp-fit li+li{border-top:var(--lp-c-stroke) solid var(--lp-border-default)}
.lp-tile-ico{flex:none;display:grid;place-items:center;width:var(--lp-c-tile);height:var(--lp-c-tile);border-radius:var(--lp-radius-inner);font-size:var(--lp-c-ico-tile);color:var(--lp-text-on-dark);background:var(--lp-gradient-tile);box-shadow:var(--lp-shadow-tile)}
.lp-fit strong{display:block;font-size:var(--lp-fs-title-md);font-weight:var(--lp-fw-semibold);line-height:var(--lp-lh-title-md);color:var(--lp-text-primary)}
.lp-fit__d{display:block;margin-top:var(--lp-space-2);font-size:var(--lp-fs-body-sm);line-height:var(--lp-lh-body-sm);color:var(--lp-text-secondary)}

/* ===== 提醒 .lp-note ===== */
.lp-note{display:flex;gap:var(--lp-space-10);padding:var(--lp-space-14) var(--lp-space-16);background:var(--lp-surface-tile);border-radius:var(--lp-radius-inner);font-size:var(--lp-fs-body-sm);line-height:var(--lp-lh-body-sm);color:var(--lp-text-secondary)}
.lp-note .lp-i{margin-top:var(--lp-space-4);font-size:var(--lp-c-ico-md);color:var(--lp-text-accent)}
.lp-note strong{font-weight:var(--lp-fw-semibold);color:var(--lp-text-primary)}

/* ===== 流程 .lp-tl ===== */
.lp-tl{margin-top:var(--lp-space-24)}
.lp-tl__row{--node-y:calc(var(--lp-space-12) + var(--lp-lh-body-md)/2);display:grid;grid-template-columns:var(--lp-c-time) var(--lp-c-rail) minmax(0,1fr);column-gap:var(--lp-space-12)}
.lp-tl__time{padding-top:calc(var(--node-y) - var(--lp-lh-time)/2);font-size:var(--lp-fs-time);line-height:var(--lp-lh-time);font-variant-numeric:tabular-nums;color:var(--lp-text-tertiary);white-space:nowrap}
.lp-tl__rail{position:relative}
.lp-tl__rail::before{content:"";position:absolute;left:calc((var(--lp-c-rail) - var(--lp-c-rail-w))/2);top:0;bottom:0;width:var(--lp-c-rail-w);background:var(--lp-border-default)}
.lp-tl__row:first-child .lp-tl__rail::before{top:var(--node-y)}
.lp-tl__row:last-child .lp-tl__rail::before{bottom:auto;height:var(--node-y)}
.lp-tl__rail::after{content:"";position:absolute;left:calc((var(--lp-c-rail) - var(--lp-c-node))/2);top:calc(var(--node-y) - var(--lp-c-node)/2);width:var(--lp-c-node);height:var(--lp-c-node);border-radius:50%;background:var(--lp-surface-card);box-shadow:inset 0 0 0 var(--lp-c-rail-w) var(--lp-border-strong)}
.lp-tl__body{padding-block:var(--lp-space-12);min-width:0;font-size:var(--lp-fs-body-md);line-height:var(--lp-lh-body-md);color:var(--lp-text-secondary)}
.lp-tl__qa{font-family:var(--lp-font-cjk)}
.lp-tl__row--major{--node-y:calc(var(--lp-space-8) + var(--lp-space-18) + var(--lp-lh-title-lg)/2)}
.lp-tl__row--major .lp-tl__time{font-weight:var(--lp-fw-semibold);color:var(--lp-text-primary)}
.lp-tl__row--major .lp-tl__rail::before{background:linear-gradient(180deg,var(--lp-border-default) 0,var(--lp-border-default) var(--node-y),var(--lp-accent-default) var(--node-y),var(--lp-accent-default) 72%,var(--lp-border-default) 100%)}
.lp-tl__row--major .lp-tl__rail::after{background:var(--lp-accent-default);box-shadow:none}
.lp-tl__row--major .lp-tl__body{padding-block:var(--lp-space-8)}

/* ===== 場次 .lp-session ===== */
.lp-session{padding:var(--lp-space-18) var(--lp-space-20) var(--lp-space-20);background:var(--lp-surface-tile);border-radius:var(--lp-radius-inner)}
.lp-session__t{font-size:var(--lp-fs-title-lg);font-weight:var(--lp-fw-semibold);line-height:var(--lp-lh-title-lg);color:var(--lp-text-primary)}
.lp-session__t span{color:var(--lp-text-accent)}
.lp-who{display:flex;align-items:center;gap:var(--lp-space-8);margin-top:var(--lp-space-8);font-size:var(--lp-fs-caption);line-height:var(--lp-lh-caption);color:var(--lp-text-tertiary)}
.lp-who img{width:var(--lp-c-avatar);height:var(--lp-c-avatar);border-radius:var(--lp-radius-sm);object-fit:cover}
.lp-session ul{margin-top:var(--lp-space-12)}
.lp-session li{position:relative;padding:var(--lp-space-4) 0 var(--lp-space-4) var(--lp-space-18);font-size:var(--lp-fs-body-sm);line-height:var(--lp-lh-body-sm)}
.lp-session li::before{top:calc(var(--lp-space-4) + var(--lp-lh-body-sm)/2 - var(--lp-c-stroke))}

/* ===== 白框黑板 .lp-frame ===== */
.lp-frame{padding:var(--lp-c-frame);background:var(--lp-surface-card);border-radius:var(--lp-radius-card)}
.lp-frame__panel{position:relative;background:var(--lp-surface-panel);border-radius:var(--lp-radius-inner);color:var(--lp-text-on-dark);overflow:hidden;isolation:isolate}
.lp-frame__panel::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--lp-image-fluid) no-repeat}
.lp-frame__panel .lp-title{color:var(--lp-text-on-dark)}
.lp-frame--take .lp-frame__panel{padding:var(--lp-space-32) var(--lp-space-32) var(--lp-space-14)}
.lp-frame--take .lp-frame__panel::before{inset:0 0 auto;height:260px;background-size:1320px auto;background-position:right -300px top -130px;-webkit-mask-image:radial-gradient(90% 100% at 100% 0,#000 0%,rgba(0,0,0,.5) 42%,transparent 78%);mask-image:radial-gradient(90% 100% at 100% 0,#000 0%,rgba(0,0,0,.5) 42%,transparent 78%)} /* 例外：底圖裁切與遮罩 */
.lp-frame--final .lp-frame__panel{display:flex;flex-direction:column;align-items:center;padding:var(--lp-space-44) var(--lp-space-32);text-align:center;background:var(--lp-surface-tint) var(--lp-image-gradient) 70% 50%/130% auto no-repeat}
.lp-frame--final .lp-frame__panel::before{content:none}
.lp-frame--final h3{max-width:22em;font-size:var(--lp-fs-h3);line-height:var(--lp-lh-h3);color:var(--lp-text-primary);text-wrap:balance}
.lp-frame--final .lp-btn{margin-top:var(--lp-space-24)}

/* ===== 收穫列 .lp-gain ===== */
.lp-gain{margin-top:var(--lp-space-16)}
.lp-gain li{display:flex;gap:var(--lp-space-14);padding:var(--lp-space-16) 0;font-size:var(--lp-fs-body-md);line-height:var(--lp-lh-body-md);color:var(--lp-text-on-dark-body)}
.lp-gain li+li{border-top:var(--lp-c-stroke) solid var(--lp-border-on-dark)}
.lp-gain .lp-i{margin-top:var(--lp-space-4);font-size:var(--lp-c-ico-lg);stroke-width:2;color:var(--lp-accent-hi)}

/* ===== 步驟 .lp-steps ===== */
.lp-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--lp-space-12);margin-top:var(--lp-space-24);counter-reset:s}
.lp-steps li{counter-increment:s;padding:var(--lp-space-18) var(--lp-space-20) var(--lp-space-20);background:var(--lp-surface-tile);border-radius:var(--lp-radius-inner);font-size:var(--lp-fs-body-md);line-height:var(--lp-lh-body-md);font-weight:var(--lp-fw-medium);color:var(--lp-text-primary)}
.lp-steps li::before{content:counter(s,decimal-leading-zero);display:block;margin-bottom:var(--lp-space-8);font-size:var(--lp-fs-label);font-weight:var(--lp-fw-semibold);line-height:var(--lp-lh-label);font-variant-numeric:tabular-nums;color:var(--lp-text-accent)}
.lp-steps small{display:block;margin-top:var(--lp-space-6);text-indent:-.5em;font-size:var(--lp-fs-caption);font-weight:var(--lp-fw-regular);line-height:var(--lp-lh-caption);color:var(--lp-text-tertiary)}

/* ===== 講師 .lp-spk ===== */
.lp-spk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--lp-space-12);margin-top:var(--lp-space-24)}
.lp-spk{padding:var(--lp-space-20);background:var(--lp-surface-tile);border-radius:var(--lp-radius-inner)}
.lp-spk__head{display:flex;align-items:center;gap:var(--lp-space-14)}
.lp-spk__head img{flex:none;width:var(--lp-c-photo);height:var(--lp-c-photo);border-radius:var(--lp-radius-inner);object-fit:cover}
.lp-spk h3{font-size:var(--lp-fs-title-lg);font-weight:var(--lp-fw-semibold);line-height:var(--lp-lh-title-lg)}
.lp-spk__role{margin-top:var(--lp-space-2);font-size:var(--lp-fs-caption);line-height:var(--lp-lh-caption);color:var(--lp-text-tertiary)}
.lp-spk__bio{margin-top:var(--lp-space-14);font-size:var(--lp-fs-body-sm);line-height:var(--lp-lh-body-sm)}
.lp-spk ul{margin-top:var(--lp-space-10);padding-top:var(--lp-space-10);border-top:var(--lp-c-stroke) solid var(--lp-border-default)}
.lp-spk li{position:relative;padding:var(--lp-space-4) 0 var(--lp-space-4) var(--lp-space-18);font-size:var(--lp-fs-caption);line-height:var(--lp-lh-caption);color:var(--lp-text-secondary)}
.lp-spk li::before{top:calc(var(--lp-space-4) + var(--lp-lh-caption)/2 - var(--lp-c-stroke))}

/* ===== 常見問題 .lp-faq ===== */
.lp-faq{margin-top:var(--lp-space-10)}
.lp-faq details+details{border-top:var(--lp-c-stroke) solid var(--lp-border-default)}
.lp-faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--lp-space-16);padding:var(--lp-space-18) 0;cursor:pointer;list-style:none}
.lp-faq summary::-webkit-details-marker{display:none}
.lp-faq h3{font-size:var(--lp-fs-title-md);font-weight:var(--lp-fw-semibold);line-height:var(--lp-lh-title-md)}
.lp-faq__ico{flex:none;display:grid;place-items:center;width:var(--lp-c-faq-ico);height:var(--lp-c-faq-ico);border-radius:var(--lp-radius-inner);background:var(--lp-surface-tile);color:var(--lp-text-primary);font-size:var(--lp-c-ico-sm);transition:background .2s ease,color .2s ease}
.lp-faq__ico .lp-i{transition:transform .25s ease}
.lp-faq summary:hover .lp-faq__ico{background:var(--lp-border-default)}
.lp-faq details[open] .lp-faq__ico{background:var(--lp-surface-inverse);color:var(--lp-text-on-dark)}
.lp-faq details[open] .lp-faq__ico .lp-i{transform:rotate(45deg)}
.lp-faq details::details-content{block-size:0;overflow:clip;transition:block-size .28s ease,content-visibility .28s allow-discrete}
.lp-faq details[open]::details-content{block-size:auto}
.lp-faq__a{padding:0 var(--lp-space-44) var(--lp-space-20) 0;font-size:var(--lp-fs-body-sm);line-height:var(--lp-lh-body-sm);color:var(--lp-text-secondary)}
.lp-faq__a p+p{margin-top:var(--lp-space-8)}

/* ===== 報名資訊 .lp-meta／.lp-fee ===== */
.lp-meta{display:grid;gap:var(--lp-space-12)}
.lp-meta>div{display:grid;grid-template-columns:var(--lp-c-meta-dt) minmax(0,1fr);gap:var(--lp-space-4)}
.lp-meta dt{display:flex;align-items:center;gap:var(--lp-space-6);height:var(--lp-lh-body-sm);font-size:var(--lp-fs-caption);line-height:var(--lp-lh-caption);color:var(--lp-text-tertiary)}
.lp-meta dt .lp-i{font-size:var(--lp-c-ico-sm)}
.lp-meta dd{margin:0;font-size:var(--lp-fs-body-sm);line-height:var(--lp-lh-body-sm);color:var(--lp-text-primary);font-variant-numeric:tabular-nums}
.lp-meta a{text-decoration:underline;text-decoration-color:var(--lp-border-strong);text-underline-offset:var(--lp-space-4);transition:text-decoration-color .2s ease}
.lp-meta a:hover{text-decoration-color:var(--lp-accent-default)}
.lp-meta__addr{display:block;font-size:var(--lp-fs-caption);line-height:var(--lp-lh-caption);color:var(--lp-text-tertiary)}
.lp-fee{display:flex;align-items:baseline;justify-content:space-between;margin-top:var(--lp-space-18);padding-top:var(--lp-space-16);border-top:var(--lp-c-stroke) solid var(--lp-border-default)}
.lp-fee__l{font-size:var(--lp-fs-caption);line-height:var(--lp-lh-caption);color:var(--lp-text-tertiary)}
.lp-fee__v{font-size:var(--lp-fs-price-lg);font-weight:var(--lp-fw-semibold);line-height:var(--lp-lh-price-lg);letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--lp-text-primary)}
.lp-fee__v small{margin-left:var(--lp-space-4);font-size:var(--lp-fs-body-sm);font-weight:var(--lp-fw-medium);letter-spacing:0;color:var(--lp-text-tertiary)}

/* ===== 報名卡 .lp-reg ===== */
.lp-reg{position:sticky;top:calc(var(--lp-layout-head) + var(--lp-space-16))}
.lp-reg__card{padding:var(--lp-c-frame) var(--lp-c-frame) 0;background:var(--lp-surface-card);border-radius:var(--lp-radius-card)}
.lp-reg__media{position:relative;display:flex;align-items:flex-end;height:var(--lp-c-media-h);padding:var(--lp-space-16) var(--lp-space-20);border-radius:var(--lp-radius-inner);background:var(--lp-surface-tint) var(--lp-image-gradient) 0 70%/cover no-repeat;overflow:hidden}
.lp-reg__media h3{font-size:var(--lp-fs-panel);line-height:var(--lp-lh-panel);color:var(--lp-text-primary)}
.lp-reg__body{padding:var(--lp-space-20) var(--lp-space-18) var(--lp-space-24)}
.lp-reg .lp-btn{margin-top:var(--lp-space-16)}

/* ===== 主視覺資訊卡 .lp-hero-card（≤1099） ===== */
.lp-hero-card{display:none}

/* ===== 頁尾 .lp-foot ===== */
.lp-foot{padding:var(--lp-space-24) 0;background:var(--lp-surface-foot);font-size:var(--lp-fs-caption);line-height:var(--lp-lh-caption);color:var(--lp-text-on-dark-muted);text-align:center}

/* ===== 手機報名列 .lp-mbar（≤1099） ===== */
.lp-mbar{display:none}

/* ===== 斷點 ===== */
@media (max-width:1099px){ /* 例外：Tablet 斷點 */
  .lp-layout{display:block;max-width:900px;padding-block:0 var(--lp-space-40)} /* 例外：平板內容最大寬 */
  .lp-reg,.lp-spill{display:none}
  .lp-hero__in{padding-block:var(--lp-space-40)}
  .lp-hero__main{max-width:470px} /* 例外：Hero 文字欄寬 */
  .lp-hero__media img{object-position:55% 50%}
  .lp-hero__cta{display:none}
  .lp-hero-card{position:relative;z-index:2;display:block;margin:calc(var(--lp-space-20)*-1) 0 0;padding:var(--lp-space-24)}
  .lp-hero-card .lp-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--lp-space-12) var(--lp-space-24)}
  .lp-hero-card .lp-btn{margin-top:var(--lp-space-20)}
  .lp-mbar{position:fixed;left:var(--lp-space-8);right:var(--lp-space-8);bottom:calc(var(--lp-space-8) + env(safe-area-inset-bottom));z-index:45;display:flex;align-items:center;gap:var(--lp-space-12);padding:var(--lp-space-10) var(--lp-space-10) var(--lp-space-10) var(--lp-space-16);background:var(--lp-surface-mbar);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--lp-radius-card);box-shadow:var(--lp-shadow-mbar)} /* 例外：blur 無對應 token */
  .lp-mbar__info{flex:1;min-width:0;font-size:var(--lp-fs-caption);line-height:var(--lp-lh-caption);color:var(--lp-text-tertiary);font-variant-numeric:tabular-nums}
  .lp-mbar__price{display:block;font-size:var(--lp-fs-price-sm);font-weight:var(--lp-fw-semibold);line-height:var(--lp-lh-price-sm);color:var(--lp-text-primary)}
  .lp-foot{padding-bottom:calc(var(--lp-space-72) + var(--lp-space-20) + env(safe-area-inset-bottom))}
}
@media (max-width:899px){ /* 例外：Hero 換手機圖的斷點，版面專用，不是 token mode */
  .lp-hero{height:min(133.33vw,640px)} /* 例外：3:4 比例，上限 640 */
  .lp-hero__media::after{background:var(--lp-gradient-scrim-m)}
  .lp-hero__media img{object-position:50% 10%}
  .lp-hero__in{gap:var(--lp-space-14);padding-block:0 var(--lp-space-44)}
  .lp-hero__main{max-width:none}
  .lp-hero__sub{margin-top:var(--lp-space-10)}
  .lp-frame--take .lp-frame__panel{padding:var(--lp-space-24) var(--lp-space-20) var(--lp-space-10)}
  .lp-frame--take .lp-frame__panel::before{height:220px;background-position:right -520px top -110px} /* 例外：底圖裁切 */
  .lp-frame--final .lp-frame__panel{padding:var(--lp-space-36) var(--lp-space-20)}
}
@media (max-width:640px){ /* 例外：Mobile 斷點 */
  .lp-card__body,.lp-tl,.lp-steps,.lp-spk-grid{margin-top:var(--lp-space-20)}
  .lp-hero-card .lp-meta{grid-template-columns:1fr}
  .lp-anchor a{flex:0 0 auto}
  .lp-anchor::after{content:"";position:absolute;inset:0 0 0 auto;width:var(--lp-space-44);border-radius:0 var(--lp-radius-card) var(--lp-radius-card) 0;background:var(--lp-gradient-fade-r);pointer-events:none;transition:opacity .2s ease}
  .lp-anchor.is-end::after{opacity:0}
  .lp-anchor.is-stuck .lp-anchor__scroll{margin-inline:calc(var(--lp-layout-margin)*-1);padding-inline:calc(var(--lp-layout-margin) - var(--lp-space-12));transform:none}
  .lp-anchor.is-stuck::after{inset:calc((var(--lp-layout-bar) - var(--lp-layout-head))/2) calc(var(--lp-layout-margin)*-1) calc((var(--lp-layout-bar) - var(--lp-layout-head))/2) auto;border-radius:0}
  .lp-frame--final .lp-frame__panel{background-position:55% 48%;background-size:auto 200%}
  .lp-tl__row,.lp-tl__row--major{grid-template-columns:var(--lp-c-rail) minmax(0,1fr);column-gap:var(--lp-space-10);--node-y:calc(var(--lp-space-12) + var(--lp-lh-time)/2)}
  .lp-tl__time{grid-column:2;grid-row:1;padding-top:var(--lp-space-12)}
  .lp-tl__rail{grid-column:1;grid-row:1/span 2}
  .lp-tl__body{grid-column:2;grid-row:2;padding:0 0 var(--lp-space-12)}
  .lp-tl__row--major .lp-tl__body{padding:var(--lp-space-6) 0 var(--lp-space-10)}
  .lp-session{padding:var(--lp-space-16)}
  .lp-steps,.lp-spk-grid{grid-template-columns:minmax(0,1fr)}
  .lp-faq__a{padding-right:0}
  .lp-fit li{gap:var(--lp-space-14)}
}
@media (max-width:380px){ /* 例外：極窄裝置主標降一級，避免第二行再斷行 */
  .lp-hero__title{font-size:26px;line-height:34px} /* 例外：同上 */
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important}
}
