/* 兆豐新戶陪跑計畫 */

:root{
  --purple:#631d79;
  --purple-2:#612f80;
  --brand:#6546d7;
  --brand-d:#5233c2;
  --ink:#1a1a1a;
  --gray:#888;
  --red:#f40b37;
  --yellow:#f2c14b;
  --yellow-2:#ffd221;
  --cream:#fff7e5;
  --lav:#efe8ff;
  --sky:#dce7f4;
  --gold-1:#e6c57c;
  --gold-2:#f3dca3;
  --line:#b9b4ef;
  --hd-h:74px;
  --wrap:1140px;
  --gut:24px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-feature-settings:"palt";font-family:"Noto Sans TC","Noto Sans CJK TC","PingFang TC","Microsoft JhengHei",sans-serif;color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,ul,figure{margin:0;padding:0}
ul{list-style:none}
em{font-style:normal;color:var(--purple)}
s{text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;padding:0;color:inherit}
:focus-visible{outline:3px solid var(--yellow-2);outline-offset:3px;border-radius:4px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:#fff;padding:8px 14px;border-radius:6px}
.skip:focus{left:8px}
.wrap{width:min(100% - var(--gut)*2, var(--wrap));margin-inline:auto;position:relative}
section[id],article[id]{scroll-margin-top:calc(var(--hd-h) + 12px)}
.br-sp{display:none}
.nw{white-space:nowrap}

/* 共用 */
.sec-title{font-size:56px;font-weight:900;line-height:1.45;text-align:center;letter-spacing:.02em;position:relative}
.sec-title em{color:var(--purple)}

.tri{display:inline-flex;gap:7px;vertical-align:middle}
.tri i{width:0;height:0;border-left:16px solid var(--brand);border-top:9px solid transparent;border-bottom:9px solid transparent}
.tri i:nth-child(n){opacity:calc(1 - (var(--n,0)) * .14)}
.tri i:nth-child(1){--n:0}.tri i:nth-child(2){--n:1}.tri i:nth-child(3){--n:2}.tri i:nth-child(4){--n:3}.tri i:nth-child(5){--n:4}.tri i:nth-child(6){--n:5}
.tri--l{transform:scaleX(-1)}
.tri--r{display:flex;justify-content:flex-end}
.tri--start{display:flex}

.btn-gold{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(90deg,var(--gold-1),var(--gold-2));color:var(--purple);font-weight:700;letter-spacing:.06em;transition:transform .25s var(--ease),box-shadow .25s var(--ease),filter .25s}
.btn-gold--s{height:50px;padding:0 26px;border-radius:12px;font-size:20px}
.btn-gold--l{width:260px;height:86px;border-radius:43px;font-size:30px;box-shadow:0 6px 14px rgba(160,124,40,.35),inset 0 -3px 0 rgba(0,0,0,.06)}

/* 頁首 */
.hd{position:sticky;top:0;z-index:50;height:var(--hd-h);background:#fff;transition:box-shadow .3s}
.hd.is-scrolled{box-shadow:0 4px 18px rgba(46,29,120,.12)}
.hd__in{height:100%;width:min(100% - 48px, 1200px);margin:0 auto;display:flex;align-items:center}
.hd__logo img{height:46px;width:auto}
.hd__nav{margin-left:auto;display:flex;gap:28px;margin-right:34px}
.hd__nav a{position:relative;font-size:20px;font-weight:500;color:#333;padding:6px 14px;letter-spacing:.02em;transition:color .2s}
.hd__nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:3px;border-radius:2px;background:var(--brand);transform:scaleX(0);transition:transform .25s var(--ease)}
.hd__burger{display:none}



/* 主視覺 */
.kv{position:relative;overflow:hidden;background:#7d7cf6}
.kv__stage{position:relative;aspect-ratio:2214/822}
.kv__bg img{width:100%;height:100%;object-fit:cover}
.kv__l{position:absolute;display:block;left:var(--x);top:var(--y);width:var(--w)}
.kv__l img{width:100%;height:auto}
.kv__title,.kv__tags,.kv__periodP{margin:0;padding:0;list-style:none;position:static}
.kv__ctaLink{display:block}
.kv__title1{--x:6.7%;--y:10.219%;--w:30.006%}
.kv__title2{--x:11.789%;--y:30.332%;--w:28.395%}
.kv__tag1{--x:7.332%;--y:57.746%;--w:13.159%}
.kv__tag2{--x:20.34%;--y:55.15%;--w:11.036%}
.kv__tag3{--x:31.196%;--y:52.555%;--w:11.036%}
.kv__cta{--x:9.364%;--y:72.709%;--w:29.148%}
.kv__arrow{--x:35.652%;--y:77.616%;--w:2.198%}
.kv__period{--x:9.575%;--y:86.821%;--w:14.077%}
@media (max-width:767px){
  .kv__stage{aspect-ratio:1/1}
  .kv__title1{--x:17.994%;--y:7.562%;--w:62.717%}
  .kv__title2{--x:23.766%;--y:23.673%;--w:59.29%}
  .kv__tag1{--x:17.87%;--y:45.216%;--w:24.568%}
  .kv__tag2{--x:42.16%;--y:43.025%;--w:20.618%}
  .kv__tag3{--x:62.438%;--y:40.926%;--w:20.618%}
  .kv__cta{--x:66.975%;--y:51.266%;--w:24.784%}
  .kv__arrow{--x:88.241%;--y:59.321%;--w:3.241%}
  .kv__period{--x:67.16%;--y:63.889%;--w:22.624%}
}
@keyframes kvIn{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}
@keyframes kvPop{0%{opacity:0;transform:scale(.6) rotate(-6deg)}70%{opacity:1;transform:scale(1.06) rotate(1deg)}100%{opacity:1;transform:none}}
@keyframes kvSlide{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:none}}
@keyframes kvTap{0%,100%{transform:translate(0,0)}50%{transform:translate(-6%,-8%)}}
@keyframes kvFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6%)}}
.kv__title1{animation:kvIn .7s var(--ease) .1s both}
.kv__title2{animation:kvIn .7s var(--ease) .3s both}
.kv__tag1{animation:kvPop .55s var(--ease) .65s both}
.kv__tag2{animation:kvPop .55s var(--ease) .8s both}
.kv__tag3{animation:kvPop .55s var(--ease) .95s both}
.kv__cta{animation:kvSlide .6s var(--ease) 1.15s both;transition:filter .25s}
.kv__period{animation:kvSlide .6s var(--ease) 1.3s both}
.kv__arrow{animation:kvIn .4s var(--ease) 1.5s both}
.kv__arrow img{animation:kvTap 1.4s ease-in-out 2s infinite}
.kv__tags li:nth-child(n) img{animation:kvFloat 3.2s ease-in-out infinite}
.kv__tags li:nth-child(2) img{animation-delay:.4s}.kv__tags li:nth-child(3) img{animation-delay:.8s}
@media (hover:hover) and (pointer:fine){.kv__ctaLink:hover .kv__cta{filter:brightness(1.06) drop-shadow(0 6px 10px rgba(46,29,120,.35))}}
@media (prefers-reduced-motion:reduce){.kv__l,.kv__l img{animation:none!important}}

/* 痛點 */
.pain{position:relative;background:var(--cream);padding:72px 0 78px}
.road-wrap{position:relative;overflow:hidden}
.road{display:none;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.road-wrap::before{content:"";position:absolute;left:50%;top:0;width:max(100%,1440px);height:100%;transform:translateX(-50%);background:url(../img/road-bg.svg) no-repeat 0 0/100% 100%;z-index:1;pointer-events:none}
.pain .wrap,.about .wrap{z-index:2}
.road path{fill:none;vector-effect:non-scaling-stroke}
.road .lane{stroke:rgba(255,255,255,.7);stroke-width:80}
.road .dash{stroke:#f6d35b;stroke-width:3;stroke-dasharray:16 14}
.pain .sec-title{padding-left:20px}
.deco-slash{position:absolute;left:-108px;top:-30px;width:80px;height:70px}
.deco-slash i{position:absolute;display:block;background:var(--yellow);border-radius:3px}
.deco-slash i:nth-child(1){left:34px;top:0;width:11px;height:54px;transform:rotate(-28deg)}
.deco-slash i:nth-child(2){left:2px;top:48px;width:44px;height:11px;transform:rotate(12deg)}
.sec-title .t{position:relative;display:inline-block}
.pain .tri--r{margin:16px 30px 0 0}
.pain__list{display:grid;grid-template-columns:repeat(3,1fr);gap:74px;margin-top:22px;position:relative}
.pcard__pic{height:240px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:-14px;position:relative;z-index:1}
.pcard__pic img{width:auto;height:auto}
.pcard:nth-child(1) .pcard__pic img{height:240px}
.pcard:nth-child(2) .pcard__pic img{width:325px}
.pcard:nth-child(3) .pcard__pic img{width:265px}
.pcard__box{background:var(--lav);border-radius:46px 0 46px 0;padding:34px 28px 40px;min-height:212px;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.pcard h3{font-size:28px;font-weight:700;color:var(--purple-2);letter-spacing:.04em;line-height:1.4;margin-bottom:12px}
.pcard p{font-size:20px;line-height:1.6}

/* 陪跑計畫 */
.about{position:relative;background:var(--sky);padding:120px 0 123px}
.spark{position:absolute;width:44px;height:44px;flex:none;transform:rotate(15deg);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 0Q56 44 100 50Q56 56 50 100Q44 56 0 50Q44 44 50 0Z' fill='%23f2c14b'/%3E%3C/svg%3E") no-repeat center/contain}
.spark--l{width:30px;height:30px;left:-62px;bottom:6px}
.spark--r{width:56px;height:56px;right:-80px;top:2px}
.about__lead{font-size:22px;line-height:1.8;text-align:center;margin-top:26px}
.about__sub{display:flex;justify-content:center;align-items:center;gap:14px;font-size:28px;font-weight:500;letter-spacing:.04em;margin-top:56px}
.about__sub .tri i{border-left-width:14px;border-top-width:8px;border-bottom-width:8px}
.hl__list{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:106px}
.hcard{position:relative;background:var(--cream);border-radius:26px;padding:26px 32px 28px;text-align:center;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.hcard .flag{position:absolute;left:-3px;top:-70px;width:81px;height:80px;background:url(../img/flag.svg) no-repeat center/contain}
.hcard h4{font-size:28px;font-weight:500;letter-spacing:.04em;line-height:1.4}
.hcard img{width:192px;margin:0 auto 4px}
.hcard p{font-size:22px;line-height:1.7;text-align:left}
@media (min-width:1200px){.hcard p{text-align:justify;text-align-last:left;text-justify:inter-character}}

/* 開戶 */
.band{background:var(--brand);padding:60px 0 52px;text-align:center;color:#fff}
.band__btn{position:relative;display:inline-flex;height:81px;border-radius:22px;overflow:visible;box-shadow:0 8px 20px rgba(30,10,90,.28);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.band__lim{display:flex;align-items:center;gap:6px;padding:0 26px 0 28px;background:var(--yellow);border-radius:22px 0 0 22px;color:var(--brand);font-size:26px;letter-spacing:.04em}
.band__lim b{font-size:38px;font-weight:500;line-height:1}
.band__go{display:flex;align-items:center;padding:0 52px 0 30px;background:#fff;border-radius:0 22px 22px 0;color:var(--brand);font-size:26px;letter-spacing:.04em}
.band__hand{position:absolute;right:-34px;bottom:-30px;width:60px;height:66px;transition:transform .3s var(--ease)}
.band__note{font-size:18px;margin-top:30px;color:#fcfafa;letter-spacing:.02em}

/* 課程 */
.courses{position:relative;padding:71px 0 40px;overflow:hidden;background:#fff;z-index:0}
.courses > *{position:relative}
/* K 線裝飾背景（自 AI 設計檔輸出，2x） */
.courses::before{content:"";position:absolute;z-index:-1;left:50%;top:0;width:max(100%,1440px);height:440px;transform:translateX(-50%);background:url(../img/cs-t.jpg) no-repeat 0 0/100% 100%;pointer-events:none}
.cbg{position:absolute;z-index:-1;left:50%;top:0;width:max(100%,1440px);transform:translateX(-50%);background:no-repeat 0 0/100% 100%;pointer-events:none}
.cbg--1{height:655px;background-image:url(../img/cs-1.jpg)}
.cbg--2{height:724px;background-image:url(../img/cs-2.jpg)}
.cbg--3{height:674px;background-image:url(../img/cs-3.jpg)}
.cbg--4{height:589px;background-image:url(../img/cs-4.jpg)}
.tri--start{margin-left:0}
@media (min-width:1240px){.tri--start{margin-left:-50px}}
.sec-title--live{margin-top:20px}
.brush{position:relative;z-index:0;letter-spacing:.08em}
.brush::after{content:"";position:absolute;z-index:-1;left:4%;right:2%;bottom:-6px;height:22px;background:var(--yellow);transform:skewX(-14deg) rotate(-3deg);clip-path:polygon(0 30%,100% 0,98% 100%,3% 100%)}
.courses__sub{font-size:22px;text-align:center;margin-top:67px}
.tabs{display:flex;justify-content:center;gap:25px;margin-top:29px}
.tabs a{display:inline-flex;align-items:center;height:41px;padding:0 28px;border:1.6px solid #111;border-radius:21px;font-size:18px;transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease)}
.tabs a s{margin:0 6px;opacity:.55}
.tabs a.is-on{background:var(--purple);border-color:var(--purple);color:#fff}

.course{position:relative;margin-top:63px}
.course + .course{margin-top:91px}
.course::before{content:"";position:absolute;top:94px;bottom:0;background:var(--cream);z-index:0}
.course--odd::before{left:calc(50% - 440px);right:0;clip-path:polygon(78px 0,100% 0,100% 100%,0 100%)}
.course--even::before{left:0;right:calc(50% - 400px);clip-path:polygon(0 0,100% 0,calc(100% - 78px) 100%,0 100%)}
.course__in{position:relative;z-index:1;width:min(100% - 48px, var(--wrap));margin:0 auto;display:grid;grid-template-columns:44% 1fr;gap:56px;align-items:end;min-height:572px}
.course--even .course__in{grid-template-columns:1fr 44%}
.course--even .course__media{order:2}
.course__body{padding:118px 0 40px}
.course__media--photo + .course__body{padding-bottom:63px}
.course--even .course__body{padding-left:4px}
.course__media{position:relative;align-self:end;justify-self:center}
.course__media--photo{width:425px;margin-bottom:0}
.course__media--photo img{width:100%}
.course__media figcaption{position:absolute;left:22px;bottom:22px;font-size:24px;font-weight:700;color:#fff;letter-spacing:.05em;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.course--even .course__media figcaption{left:auto;right:84px}
.course__media--logo{width:400px;align-self:center;margin-top:60px}
.course__media--badge{width:510px;align-self:center;margin-top:46px;margin-bottom:0}
.course__ttl{font-size:22px;font-weight:700;color:var(--purple);letter-spacing:.02em}
.course__ttl s{font-weight:300;color:#999;margin:0 6px}
.course__desc{background:#fff;border:1.5px solid var(--line);border-radius:26px;padding:16px 28px 18px;margin-top:20px}
.course__desc p{font-size:18px;color:var(--gray);line-height:1.95}
.course__desc .date{display:flex;align-items:center;flex-wrap:wrap;color:var(--red);line-height:1.6;margin-top:2px}
.date .sep{color:#bbb;margin:0 6px}
.date .nw{display:inline-flex;align-items:center}
.ic{display:inline-block;width:20px;height:20px;margin-right:4px;flex:none;background:no-repeat center/contain}
.ic--cal{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Crect x='2' y='3.5' width='16' height='15' rx='2' fill='none' stroke='%23f40b37' stroke-width='1.7'/%3E%3Crect x='2' y='3.5' width='16' height='4.5' fill='%23f40b37'/%3E%3Cpath d='M6 1.5v3.5M14 1.5v3.5' stroke='%23f40b37' stroke-width='1.7' stroke-linecap='round'/%3E%3Cg fill='%23f40b37'%3E%3Crect x='5' y='10' width='2.2' height='2.2'/%3E%3Crect x='8.9' y='10' width='2.2' height='2.2'/%3E%3Crect x='12.8' y='10' width='2.2' height='2.2'/%3E%3Crect x='5' y='13.8' width='2.2' height='2.2'/%3E%3Crect x='8.9' y='13.8' width='2.2' height='2.2'/%3E%3Crect x='12.8' y='13.8' width='2.2' height='2.2'/%3E%3C/g%3E%3C/svg%3E")}
.ic--clock{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='8.2' fill='none' stroke='%23f40b37' stroke-width='1.7'/%3E%3Cpath d='M10 5.5v4.8l3.2 2' fill='none' stroke='%23f40b37' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E")}
.course__quote{font-size:24px;font-weight:700;margin-top:26px;letter-spacing:.01em}
.bul{margin-top:10px}
.bul li{position:relative;padding-left:24px;font-size:18px;line-height:1.7;margin-top:6px}
.bul li::before{content:"";position:absolute;left:2px;top:.42em;border-left:15px solid var(--brand);border-top:8.5px solid transparent;border-bottom:8.5px solid transparent}

/* 報名 */
.signup{padding:88px 0 92px;text-align:center}
.signup .wrap{display:flex;flex-direction:column;align-items:center}
.signup__lim{font-size:24px;font-weight:700;color:#5c3093}
.signup .btn-gold{margin-top:26px}
.signup__open{display:inline-flex;align-items:center;gap:8px;margin-top:30px;font-size:28px;color:#42423f;padding:0 12px 4px;border-bottom:1.6px solid #42423f;transition:color .2s,border-color .2s}
.signup__open span{font-weight:700;letter-spacing:-.12em;transition:transform .25s var(--ease)}

/* 常見問題 */
.faq{background:var(--sky) url(../img/faq-bg.jpg) no-repeat center top/max(100%,1440px) auto;padding:80px 0 78px;position:relative;overflow:hidden}
.faq .wrap{z-index:1}
.faq__list{margin-top:79px}
.qa{background:var(--brand);border-radius:20px;box-shadow:0 4px 10px rgba(46,29,120,.22);color:#f7f8fc;margin-top:40px;overflow:hidden;transition:box-shadow .25s,transform .25s var(--ease)}
.qa summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:79px;padding:14px 40px 14px 56px;font-size:26px;font-weight:500;letter-spacing:.03em;cursor:pointer;line-height:1.45}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";flex:none;width:14px;height:14px;border-right:3.5px solid #fff;border-bottom:3.5px solid #fff;transform:translateY(-4px) rotate(45deg);transition:transform .3s var(--ease)}
.qa[open] summary::after{transform:translateY(3px) rotate(-135deg)}
.qa__a{margin:0 26px;border-top:1.5px solid rgba(255,255,255,.75);padding:20px 30px 30px}
.qa__a p{font-size:24px;line-height:1.65;color:#f4f4f4}
.qa[open] .qa__a{animation:qaIn .35s var(--ease)}
@keyframes qaIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* 頁尾 */
.ft{background:linear-gradient(180deg,#e7c67e,#f4dda4);padding:26px 0 22px;text-align:center;font-size:18px;line-height:1.6}
.ft__co span + span::before{content:"｜";margin:0 8px;color:#333}
.ft hr{border:0;border-top:1px solid #6b8ac6;margin:14px 0 10px;opacity:.7}

/* 浮動按鈕 */
.fab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.fab__item{display:flex;align-items:center;height:82px;padding:0 30px 0 8px;border-radius:41px 0 0 41px;color:#fff;
  background:linear-gradient(135deg,#7d61f0,#5534cc);box-shadow:0 6px 16px rgba(40,18,120,.3);max-width:98px;overflow:hidden;white-space:nowrap;
  transition:max-width .45s var(--ease),box-shadow .3s,padding .45s var(--ease)}
.fab__ic{flex:none;width:66px;height:66px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:inset 0 0 0 3px #6546d7;overflow:hidden}
.fab__ic img{width:56px;height:56px;object-fit:contain}
.fab__txt{font-size:26px;font-weight:500;font-style:italic;letter-spacing:.06em;margin-left:16px;opacity:0;transform:translateX(10px);transition:opacity .3s,transform .35s var(--ease)}
.fab__item.is-open{max-width:420px;padding-right:34px}
.fab__item.is-open .fab__txt{opacity:1;transform:none;transition-delay:.08s}

/* 捲動淡入 */
.reveal{opacity:0;transform:translateY(36px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0s)}
.reveal.is-in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}

/* 滑鼠互動 */
@media (hover:hover) and (pointer:fine){
  .hd__nav a:hover{color:var(--brand)}
  .hd__nav a:hover::after{transform:scaleX(1)}
  .btn-gold:hover{transform:translateY(-3px);filter:brightness(1.04);box-shadow:0 10px 20px rgba(160,124,40,.38)}
  .pcard:hover .pcard__box{transform:translateY(-6px);box-shadow:0 14px 26px rgba(101,70,215,.16)}
  .hcard:hover{transform:translateY(-8px);box-shadow:0 16px 30px rgba(46,29,120,.14)}
  .band__btn:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(30,10,90,.36)}
  .band__btn:hover .band__hand{transform:translate(-4px,-4px) rotate(-6deg)}
  .tabs a:hover:not(.is-on){background:var(--lav);border-color:var(--brand);color:var(--brand);transform:translateY(-2px)}
  .signup__open:hover{color:var(--brand);border-color:var(--brand)}
  .signup__open:hover span{transform:translateX(6px)}
  .qa:hover{box-shadow:0 8px 18px rgba(46,29,120,.3)}
  .qa summary:hover{background:rgba(255,255,255,.06)}
  .fab__item:hover{max-width:420px;padding-right:34px;box-shadow:0 10px 22px rgba(40,18,120,.38)}
  .fab__item:hover .fab__txt{opacity:1;transform:none;transition-delay:.08s}
}

/* 平板 */
@media (max-width:1199px){
  .sec-title{font-size:46px}
  .pain__list,.hl__list{gap:28px}
  .pcard__box{padding:28px 22px 32px}
  .pcard h3{font-size:24px}
  .pcard p{font-size:17px}
  .hcard{padding:30px 22px 32px}
  .hcard h4{font-size:24px}
  .hcard p{font-size:18px}
  .course__in{gap:32px;grid-template-columns:42% 1fr}
  .course--even .course__in{grid-template-columns:1fr 42%}
  .course__media--photo{width:min(100%,400px)}
  .course__media--badge{width:min(100%,420px)}
  .course__media--logo{width:min(100%,340px)}
  .course--odd::before{left:30%}
  .course--even::before{right:30%}
  .qa summary{font-size:22px;padding-left:36px}
  .qa__a p{font-size:20px}
  .ft__co span{display:inline-block}
}

@media (max-width:1023px){
  .pain__list,.hl__list{grid-template-columns:1fr;max-width:520px;margin-inline:auto}
  .hl__list{gap:70px}
  .pcard__pic{height:auto}
  .course__body{padding-top:120px}
}

/* 手機 */
@media (max-width:767px){
  :root{--hd-h:60px;--gut:16px}
  .br-sp{display:inline}
  .br-pc{display:none}
  .sec-title{font-size:27px;line-height:1.45}
  .tri i{border-left-width:11px;border-top-width:6.5px;border-bottom-width:6.5px}
  .tri{gap:4px}

  .hd__in{width:calc(100% - 32px)}
  .hd__logo img{height:34px}
  .hd__cta{margin-left:auto;height:36px;padding:0 14px;font-size:15px;border-radius:9px}
  .hd__burger{display:flex;flex-direction:column;justify-content:space-between;width:44px;height:44px;padding:11.5px 8px;margin-left:8px;margin-right:-8px}
  .hd__burger i{display:block;height:3px;border-radius:2px;background:var(--purple);transition:transform .3s var(--ease),opacity .2s}
  .hd__burger[aria-expanded="true"] i:nth-child(1){transform:translateY(9px) rotate(45deg)}
  .hd__burger[aria-expanded="true"] i:nth-child(2){opacity:0}
  .hd__burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
  .hd__nav{position:absolute;left:0;right:0;top:var(--hd-h);margin:0;flex-direction:column;gap:0;background:#fff;box-shadow:0 12px 20px rgba(46,29,120,.12);
    clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .35s var(--ease),visibility 0s .35s}
  .hd__nav.is-open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .35s var(--ease)}
  .hd__nav a{padding:16px 24px;font-size:17px;border-top:1px solid #f0edf8}
  .hd__nav a::after{display:none}
  .hd__nav a:active{background:var(--lav);color:var(--brand)}

  .road .lane{stroke-width:44}
  .pain{padding:44px 0 48px}
  .pain .sec-title{padding-left:0}
  .deco-slash{left:-58px;top:-22px;transform:scale(.5);transform-origin:right top}
  .pain .tri--r{margin:12px 6px 0 0}
  .pain__list{grid-template-columns:1fr;gap:26px;margin-top:8px}
  .pcard__pic{height:auto;margin-bottom:-10px}
  .pcard:nth-child(1) .pcard__pic img{height:220px}
  .pcard:nth-child(2) .pcard__pic img{width:min(280px,80%)}
  .pcard:nth-child(3) .pcard__pic img{width:min(230px,70%)}
  .pcard__box{min-height:0;padding:24px 24px 30px;border-radius:40px 0 40px 0}
  .pcard h3{font-size:22px;margin-bottom:8px}
  .pcard p{font-size:16px}

  .about{padding:48px 0 60px}
  .spark--l{width:16px;height:16px;left:-26px;bottom:4px}
  .spark--r{width:28px;height:28px;right:-36px;top:-2px}
  .about__lead{font-size:16px;margin-top:16px}
  .about__lead br{display:none}
  .about__sub{flex-direction:column;gap:10px;font-size:24px;margin-top:30px}
  .hl__list{grid-template-columns:1fr;gap:66px;margin-top:66px}
  .hcard{padding:30px 24px 30px}
  .hcard .flag{width:64px;height:63px;top:-54px}
  .hcard h4{font-size:24px}
  .hcard img{width:170px}
  .hcard p{font-size:18px}

  .band{padding:38px 0 32px}
  .band{overflow:hidden}
  .band__btn{flex-direction:column;height:auto;width:min(100% - 40px,290px);border-radius:20px}
  .band__lim{justify-content:center;border-radius:20px 20px 0 0;padding:10px 0;font-size:22px}
  .band__lim b{font-size:30px}
  .band__go{justify-content:center;border-radius:0 0 20px 20px;padding:12px 0;font-size:22px}
  .band__hand{right:-18px;bottom:-24px;width:46px;height:52px}
  .band__note{font-size:15px;margin-top:28px;line-height:1.9}

  .courses{padding:40px 0 20px}
  .road-wrap::before{display:none}
  /* K 線背景改以 2 倍寬置中縮放顯示 */
  .courses::before{width:100%;height:240px;background-size:200% auto;background-position:center top}
  .cbg{width:100%;height:100%;background-size:200% auto;background-position:center top}
  .road{display:block}
  .faq{background-size:auto 100%}
  .tri--start{margin-left:0}
  .sec-title--live{margin-top:10px}
  .brush::after{height:12px;bottom:-3px}
  .courses__sub{font-size:16px;margin-top:22px;line-height:1.8}
  .tabs{display:grid;grid-template-columns:repeat(2,max-content);justify-content:center;gap:12px 22px;margin-top:22px}
  .tabs a{height:36px;padding:0 22px;font-size:15px}
  .course,.course + .course{margin-top:56px}
  .course::before{display:none}
  .course__in{display:block;width:100%;min-height:0}
  .course__media{margin:0 auto}
  .course__media--photo{width:min(78%,320px)}
  .course__media--photo figcaption,.course--even .course__media figcaption{left:12px;right:auto;bottom:14px;font-size:20px}
  .course__media--logo{width:min(70%,280px);margin-top:0;margin-bottom:24px}
  .course__media--badge{width:min(88%,330px);margin-top:0;margin-bottom:20px}
  .course__body{background:var(--cream);padding:30px var(--gut) 36px;margin-top:-1px}
  .course--even .course__body{padding-left:var(--gut)}
  .course__ttl{font-size:20px;line-height:1.5}
  .course__desc{padding:14px 18px 14px;border-radius:20px;margin-top:14px}
  .course__desc p{font-size:15px;line-height:1.9}
  .course__desc .date{font-size:15px}
  .ic{width:17px;height:17px}
  .course__quote{font-size:19px;margin-top:22px;line-height:1.55}
  .bul li{font-size:15px;padding-left:22px}
  .bul li::before{border-left-width:13px;border-top-width:7.5px;border-bottom-width:7.5px;top:.36em}

  .signup{padding:44px 0 50px}
  .signup__lim{font-size:20px}
  .btn-gold--l{width:200px;height:64px;font-size:24px}
  .signup__open{font-size:21px;margin-top:24px}

  .faq{padding:44px 0 50px}
  .faq__list{margin-top:28px}
  .qa{border-radius:16px;margin-top:18px}
  .qa summary{min-height:64px;padding:12px 20px 12px 22px;font-size:17px;gap:12px}
  .qa summary::after{width:11px;height:11px;border-width:0 3px 3px 0}
  .qa__a{margin:0 16px;padding:12px 6px 18px}
  .qa__a p{font-size:15px;line-height:1.8}

  .ft{font-size:12.5px;padding:20px 0 18px;line-height:1.75}
  .ft__co span + span::before{margin:0 4px}
  .ft__co span{display:block}
  .ft__co span + span::before{content:none}

  .fab{top:auto;bottom:88px;transform:none;gap:8px}
  .fab__item{height:52px;max-width:62px;padding:0 14px 0 6px;border-radius:26px 0 0 26px}
  .fab__ic{width:42px;height:42px;box-shadow:inset 0 0 0 2px #6546d7}
  .fab__ic img{width:36px;height:36px}
  .fab__txt{font-size:16px;margin-left:10px}
  .fab__item.is-open{max-width:300px;padding-right:18px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
