/* RM IP 教練團™ — Landing Page
   Palette / type / spacing 全部跟 spec/DESIGN.md，唔准就地發明 */

:root{
  --ink:#0B1410; --ink-2:#12201A; --forest:#1B3329;
  --gold:#C9A253; --gold-lite:#E3CA8E;
  --cream:#F5F1E8; --cream-2:#EDE7DA;
  --on-dark:#EAE6DC; --on-light:#1A2420;
  --muted-dark:#9AA79F; --muted-light:#5B6B62;

  --serif:"Noto Serif HK",serif;
  --sans:"Noto Sans HK",system-ui,-apple-system,sans-serif;
  --display:"Cormorant Garamond",Georgia,serif;

  --pad-x:clamp(1.25rem,5vw,2.5rem);
  --pad-y:clamp(5rem,12vh,9rem);
  --wrap:1180px; --wrap-narrow:760px;
  --gap:clamp(1.25rem,3vw,2rem);
  --line:rgba(201,162,83,.28);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden}
/* 極端字體放大（iOS accessibility 200%）下，長 token 唔准頂爆容器 */
.era,.step,.eco__item,.support__item,.mstat,.req,.compare li,.screen li,.tag{
  min-width:0;overflow-wrap:anywhere;
}
body{
  margin:0;font-family:var(--sans);
  font-size:clamp(1rem,.98rem + .2vw,1.125rem);
  line-height:1.9;letter-spacing:.02em;
  background:var(--ink);color:var(--on-dark);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;margin:0}
h1{font-size:clamp(2.2rem,6vw,4.4rem);line-height:1.15;letter-spacing:-.02em}
h2{font-size:clamp(1.7rem,4vw,2.8rem);line-height:1.3}
h3{font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.5}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
a{color:inherit}

/* ---------- surfaces ---------- */
.sec{padding:var(--pad-y) var(--pad-x);position:relative}
.sec--dark{background:var(--ink);color:var(--on-dark)}
.sec--dark-2{background:var(--ink-2);color:var(--on-dark)}
.sec--light{background:var(--cream);color:var(--on-light)}
.wrap{max-width:var(--wrap);margin-inline:auto;width:100%}
.wrap--narrow{max-width:var(--wrap-narrow)}

.eyebrow{
  font-family:var(--display);font-size:.9rem;letter-spacing:.3em;
  text-transform:uppercase;color:var(--gold);margin-bottom:1rem;
  font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;
  /* 大字距 uppercase 喺窄屏會斷行/被裁；留返行高同換行空間 */
  line-height:1.7;overflow-wrap:anywhere;
}
/* 兜底：Cormorant old-style figures 喺任何位都唔要 */
.statbar,.mstat__v,.day__n,.deliv__n,.era__n,.step__n,.req__n,
.faq__q,.mentor__idx,.mentor__alt,.why__k,.foot__prog,.eco__core{
  font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;
}
.sec--light .lead{color:var(--muted-light)}
.sec--dark .lead,.sec--dark-2 .lead{color:var(--muted-dark)}
.lead{margin-top:1.25rem;max-width:62ch}
.sec-head{margin-bottom:clamp(2.5rem,6vh,4rem)}

/* ---------- CTA ---------- */
.cta{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  min-height:56px;padding:1rem 2.2rem;
  background:var(--gold);color:var(--ink);
  font-family:var(--sans);font-weight:700;font-size:clamp(.95rem,1.6vw,1.075rem);
  letter-spacing:.02em;text-decoration:none;border-radius:2px;
  transition:background .25s ease,transform .25s ease;
}
.cta:hover,.cta:focus-visible{background:var(--gold-lite);transform:translateY(-2px)}
.cta__note{
  margin-top:1.1rem;font-size:.875rem;color:var(--gold);
  letter-spacing:.06em;line-height:1.7;
}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ---------- S01 hero ---------- */
.hero{
  position:relative;padding:clamp(6rem,14vh,9rem) var(--pad-x) clamp(4rem,10vh,6rem);
  background:var(--ink);overflow:hidden;
}
.hero__bg{
  position:absolute;inset:0;background:url("../img/hero-dark.webp") center right/cover no-repeat;
  opacity:.5;
}
.hero__bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,var(--ink) 30%,rgba(11,20,16,.72) 60%,rgba(11,20,16,.45));
}
.hero__inner{
  position:relative;max-width:var(--wrap);margin-inline:auto;
  display:grid;grid-template-columns:1fr;gap:clamp(2.5rem,6vw,4rem);align-items:center;
}
.hero__sub{
  font-family:var(--serif);font-size:clamp(1.05rem,2.2vw,1.35rem);
  color:var(--gold-lite);margin-top:1.5rem;line-height:1.7;
}
.hero__body{margin-top:1.5rem;color:var(--muted-dark);max-width:56ch}
.tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}
.tag{
  border:1px solid var(--line);border-radius:100px;
  padding:.45rem 1.1rem;font-size:.85rem;color:var(--gold);letter-spacing:.06em;
}
.hero__actions{margin-top:2.5rem}
.hero__kv img{
  width:100%;border-radius:4px;
  box-shadow:0 30px 80px rgba(0,0,0,.55);
}
@media(min-width:961px){
  .hero__inner{grid-template-columns:1.05fr .95fr}
}

/* ---------- S02 before / after ---------- */
.compare{display:grid;gap:var(--gap);grid-template-columns:1fr;position:relative}
.compare__col{padding:clamp(1.5rem,3vw,2.25rem);border-radius:3px}
.compare__col--now{background:var(--cream-2)}
.compare__col--after{background:var(--ink);color:var(--on-dark)}
.compare__label{
  font-family:var(--display);font-size:1.5rem;letter-spacing:.08em;
  margin-bottom:1.5rem;padding-bottom:.85rem;border-bottom:1px solid var(--line);
}
.compare__col--now .compare__label{color:var(--muted-light)}
.compare__col--after .compare__label{color:var(--gold)}
.compare li{display:flex;gap:.85rem;padding:.7rem 0;line-height:1.75;font-size:.975rem}
.compare li + li{border-top:1px solid rgba(0,0,0,.06)}
.compare__col--after li + li{border-top-color:rgba(201,162,83,.14)}
.mark{flex:0 0 auto;width:20px;height:20px;margin-top:.4rem}
.compare__col--now .mark{stroke:#A9A9A0}
.compare__col--after .mark{stroke:var(--gold)}
@media(min-width:861px){.compare{grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,3.5rem)}}

/* ---------- S03 era timeline ---------- */
.eras{display:grid;gap:1rem;grid-template-columns:1fr;counter-reset:era}
.era{
  display:flex;align-items:baseline;gap:1.25rem;
  padding:1.1rem 1.35rem;border:1px solid rgba(234,230,220,.1);border-radius:3px;
  color:var(--muted-dark);
}
.era__n{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;font-family:var(--display);font-size:1.5rem;color:rgba(234,230,220,.35);min-width:2ch}
.era--now{
  border-color:var(--gold);background:rgba(201,162,83,.07);color:var(--on-dark);
  box-shadow:0 0 40px rgba(201,162,83,.13);
}
.era--now .era__n{color:var(--gold)}
.era--now strong{color:var(--gold-lite);font-family:var(--serif)}
@media(min-width:1025px){
  .eras{grid-template-columns:repeat(5,1fr);gap:.75rem}
  .era{flex-direction:column;gap:.6rem;min-height:170px}
}

/* ---------- S04 mechanism ---------- */
.paths{display:grid;gap:clamp(2rem,4vw,3rem);grid-template-columns:1fr}
.path{padding:clamp(1.5rem,3vw,2.25rem);border-radius:3px}
.path--old{background:var(--cream-2)}
.path--new{background:var(--ink);color:var(--on-dark)}
.path__title{font-family:var(--serif);font-size:1.2rem;margin-bottom:.4rem}
.path--old .path__title{color:var(--muted-light)}
.path--new .path__title{color:var(--gold)}
.path__note{font-size:.875rem;line-height:1.7;margin-bottom:1.5rem}
.path--old .path__note{color:var(--muted-light)}
.path--new .path__note{color:var(--muted-dark)}
.steps{display:flex;flex-direction:column;gap:.55rem}
.step{
  display:flex;align-items:center;gap:.85rem;
  padding:.75rem 1.1rem;border-radius:2px;font-size:.95rem;
}
/* 左路徑 = 消耗遞減：逐級內縮 + 逐級變淡，視覺上「愈行愈窄、愈行愈冇力」 */
.path--old .step{background:rgba(0,0,0,.045);color:var(--muted-light);transform-origin:left}
/* 用 margin-inline-start + 同步收窄，唔會令 row 總闊度變大 */
.path--old .step:nth-child(2){margin-inline-start:4%;opacity:.92}
.path--old .step:nth-child(3){margin-inline-start:8%;opacity:.84}
.path--old .step:nth-child(4){margin-inline-start:12%;opacity:.76}
.path--old .step:nth-child(5){margin-inline-start:16%;opacity:.68}
.path--old .step:last-child{
  margin-inline-start:20%;opacity:.6;background:rgba(0,0,0,.09);font-weight:600;
}
/* 右路徑 = 疊加上升：金色由淺到深遞增，左邊金線逐級加粗 */
.path--new .step{background:rgba(201,162,83,.05);border-left:2px solid rgba(201,162,83,.35)}
.path--new .step:nth-child(2){background:rgba(201,162,83,.07);border-left-width:3px;border-left-color:rgba(201,162,83,.45)}
.path--new .step:nth-child(3){background:rgba(201,162,83,.09);border-left-width:4px;border-left-color:rgba(201,162,83,.55)}
.path--new .step:nth-child(4){background:rgba(201,162,83,.11);border-left-width:5px;border-left-color:rgba(201,162,83,.65)}
.path--new .step:nth-child(5){background:rgba(201,162,83,.14);border-left-width:6px;border-left-color:rgba(201,162,83,.78)}
.path--new .step:nth-child(6){background:rgba(201,162,83,.17);border-left-width:7px;border-left-color:rgba(201,162,83,.9)}
.path--new .step:last-child{background:var(--gold);color:var(--ink);font-weight:700;border-left:8px solid var(--gold-lite)}
.step__n{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;font-family:var(--display);font-size:1.05rem;opacity:.65;min-width:1.5ch}
.path__loop{
  margin-top:1rem;font-size:.85rem;letter-spacing:.05em;
  color:var(--muted-light);display:flex;align-items:center;gap:.5rem;
}
@media(min-width:861px){.paths{grid-template-columns:1fr 1fr}}

/* ---------- S05 90 days ---------- */
.days{position:relative;display:grid;gap:0;grid-template-columns:1fr;padding-left:2rem}
.days::before{
  content:"";position:absolute;left:6px;top:.75rem;bottom:.75rem;width:1px;
  background:linear-gradient(180deg,var(--gold),rgba(201,162,83,.15));
}
.day{position:relative;padding:0 0 clamp(2rem,4vh,2.75rem)}
.day:last-child{padding-bottom:0}
.day::before{
  content:"";position:absolute;left:calc(-2rem + 2px);top:.85rem;
  width:11px;height:11px;border-radius:50%;background:var(--gold);
  box-shadow:0 0 0 4px rgba(201,162,83,.16);
}
.day__n{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;font-family:var(--display);font-size:clamp(1.6rem,3.5vw,2.3rem);color:var(--gold);line-height:1.2}
.day__t{font-family:var(--serif);font-size:1.1rem;margin:.25rem 0 .5rem}
.day__d{color:var(--muted-dark);font-size:.975rem}
@media(min-width:1025px){
  .days{grid-template-columns:repeat(4,1fr);gap:var(--gap);padding-left:0;padding-top:2.5rem}
  .days::before{left:0;right:0;top:6px;bottom:auto;width:auto;height:1px}
  .day{padding:0}
  .day::before{left:0;top:-2.5rem}
}

/* ---------- S06 ecosystem ---------- */
.eco{display:grid;gap:var(--gap);align-items:center;grid-template-columns:1fr}
.eco__core{
  text-align:center;padding:clamp(2rem,4vw,2.75rem);
  background:var(--ink);color:var(--on-dark);border-radius:50%;
  aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;
  max-width:260px;margin-inline:auto;
  box-shadow:0 0 0 1px var(--gold),0 0 60px rgba(201,162,83,.2);
}
.eco__core span{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;font-family:var(--display);color:var(--gold);letter-spacing:.2em;font-size:.8rem}
.eco__core strong{font-family:var(--serif);font-size:1.3rem;margin-top:.4rem}
.eco__ring{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem}
.eco__item{
  display:flex;align-items:center;gap:.7rem;padding:.95rem 1rem;
  background:var(--cream-2);border-radius:3px;font-size:.925rem;
  border-left:2px solid var(--gold);
}
.eco__item svg{flex:0 0 auto;width:20px;height:20px;stroke:var(--forest)}
.eco__growth{
  grid-column:1/-1;margin-top:.5rem;text-align:center;padding:1.25rem;
  border-top:1px solid var(--line);color:var(--muted-light);font-size:.95rem;
}
.eco__growth strong{font-family:var(--display);color:var(--forest);font-size:1.15rem;letter-spacing:.15em;display:block;margin-bottom:.35rem}
@media(min-width:861px){
  .eco{grid-template-columns:300px 1fr;position:relative}
  .eco__ring{grid-template-columns:repeat(2,1fr);gap:1rem;position:relative}
  /* 由核心射出嘅連接線：令八個元素讀成「圍住核心」，唔係一堆獨立卡 */
  .eco__core{position:relative;z-index:2}
  .eco__core::after{
    content:"";position:absolute;left:100%;top:50%;width:clamp(1.5rem,3vw,2.75rem);height:1px;
    background:linear-gradient(90deg,var(--gold),rgba(201,162,83,.25));
  }
  /* 連接線畫喺卡片內側（唔用負值/right:100% 伸出容器外 —— 大字體下會頂爆橫向） */
  .eco__item{position:relative;padding-left:1.6rem}
  .eco__item::before{
    content:"";position:absolute;left:0;top:50%;width:.9rem;height:1px;
    background:rgba(201,162,83,.45);
  }
  .eco__ring::before{
    content:"";position:absolute;left:0;top:1.5rem;bottom:5.5rem;width:1px;
    background:linear-gradient(180deg,rgba(201,162,83,.15),rgba(201,162,83,.5),rgba(201,162,83,.15));
  }
}

/* ---------- S07 deliverables ---------- */
.grid-6{display:grid;gap:var(--gap);grid-template-columns:1fr}
.deliv{
  position:relative;padding:clamp(1.75rem,3vw,2.25rem);
  background:var(--ink-2);border:1px solid rgba(234,230,220,.08);
  border-radius:3px;overflow:hidden;
}
.deliv__n{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;
  position:absolute;right:1rem;top:-.6rem;
  font-family:var(--display);font-size:5.5rem;line-height:1;
  color:rgba(201,162,83,.13);pointer-events:none;
}
.deliv svg{width:26px;height:26px;stroke:var(--gold);margin-bottom:1rem}
.deliv p{color:var(--muted-dark);font-size:.975rem;position:relative}
@media(min-width:641px){.grid-6{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1025px){.grid-6{grid-template-columns:repeat(3,1fr)}}

/* ---------- S08 support ---------- */
.support{
  display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);
  padding:clamp(1.5rem,3vw,2.5rem);border-radius:4px;
  background:var(--cream-2) url("../img/hero-dark.webp") center/cover no-repeat;
  background-blend-mode:luminosity;position:relative;
}
.support::before{content:"";position:absolute;inset:0;background:rgba(245,241,232,.93);border-radius:4px}
.support__item{
  position:relative;display:flex;flex-direction:column;gap:.6rem;
  padding:1.15rem 1rem;background:rgba(255,255,255,.72);border-radius:3px;
  border-top:2px solid var(--gold);font-size:.9rem;line-height:1.6;
}
.support__item svg{width:24px;height:24px;stroke:var(--forest)}
@media(min-width:861px){.support{grid-template-columns:repeat(4,1fr);gap:1.15rem}}

/* ---------- S09 mentors ---------- */
.statbar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:1rem;text-align:center;
  padding:clamp(1.5rem,3vw,2rem) clamp(1rem,3vw,2rem);
  margin-bottom:clamp(2.5rem,5vh,3.5rem);
  border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);
  background:rgba(201,162,83,.05);
  font-family:var(--serif);font-size:clamp(1.05rem,2.2vw,1.45rem);line-height:1.7;
}
.statbar strong{color:var(--gold)}
.statbar__note{
  margin:-2rem auto clamp(2.5rem,5vh,3.5rem);text-align:center;
  font-size:.8rem;color:var(--muted-dark);letter-spacing:.04em;
}
.mentors{display:grid;gap:var(--gap);grid-template-columns:1fr}
.mentor{
  display:grid;grid-template-columns:1fr;
  background:var(--ink-2);border:1px solid rgba(234,230,220,.09);
  border-radius:3px;overflow:hidden;
}
/* 四張導師相原底色唔同（紅 / 米黃 / 灰藍），直接擺會令四張卡唔成套。
   用深綠疊層 + 輕微去飽和統一色溫，人樣唔變但底色收埋。 */
.mentor__ph{position:relative;background:var(--forest);aspect-ratio:4/5;overflow:hidden}
.mentor__ph img{
  width:100%;height:100%;object-fit:cover;object-position:center 18%;
  filter:saturate(.82) contrast(1.03);
}
.mentor__ph::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(27,51,41,.34),rgba(11,20,16,.52));
  mix-blend-mode:multiply;
}
.mentor__body{padding:clamp(1.5rem,3vw,2rem);display:flex;flex-direction:column}
.mentor__idx{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;font-family:var(--display);font-size:.85rem;letter-spacing:.3em;color:var(--gold)}
.mentor__name{font-family:var(--serif);font-size:clamp(1.3rem,2.5vw,1.6rem);margin:.35rem 0 .2rem}
.mentor__alt{
  font-family:var(--display);font-size:.82rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--muted-dark);margin-top:-.1rem;
}
.mentor__role{
  font-family:var(--display);font-size:.9rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold-lite);margin-top:.3rem;
}
.mentor__pos{margin-top:1rem;color:var(--on-dark);font-size:.975rem;line-height:1.8}
.mentor__stats{margin-top:1.5rem;display:grid;gap:.85rem}
.mstat{display:flex;align-items:baseline;gap:.75rem;line-height:1.5}
.mstat__v{
  font-family:var(--display);font-size:clamp(1.4rem,2.8vw,1.85rem);
  color:var(--gold);line-height:1.15;flex:0 0 auto;
  /* Cormorant 預設 old-style figures：0 會縮細、1 似 I。數字段一定要 lining + tabular */
  font-variant-numeric:lining-nums tabular-nums;
  font-feature-settings:"lnum" 1,"tnum" 1;
  min-width:4.5ch;
}
.mstat__l{font-size:.875rem;color:var(--muted-dark)}
.mentor__exp{
  margin-top:auto;padding-top:1.5rem;
  font-size:.85rem;color:var(--gold);letter-spacing:.05em;line-height:1.7;
}
.mentor__exp::before{content:"";display:block;width:40px;height:1px;background:var(--line);margin-bottom:1rem}
@media(max-width:640px){
  /* 手機：相片 4/5 會食成個屏，收成 16/10 橫幅，人樣仍然見到 */
  .mentor__ph{aspect-ratio:16/10}
  .mentor__ph img{object-position:center 22%}
  .statbar{
    display:block;text-align:left;font-size:1.02rem;line-height:1.85;
    padding:1.35rem 1.15rem;
  }
  .mstat{gap:.6rem}
  .mstat__v{min-width:4ch}
}
@media(min-width:641px){.mentor{grid-template-columns:38% 1fr}.mentor__ph{aspect-ratio:auto;min-height:100%}}
@media(min-width:1025px){.mentors{grid-template-columns:1fr 1fr}}

/* ---------- S10 why ---------- */
.grid-5{display:grid;gap:var(--gap);grid-template-columns:1fr}
.why{padding:clamp(1.5rem,3vw,2rem);background:var(--cream-2);border-radius:3px;border-top:2px solid rgba(27,51,41,.18)}
.why--hl{background:var(--ink);color:var(--on-dark);border-top-color:var(--gold)}
.why__k{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;font-family:var(--display);font-size:1.4rem;letter-spacing:.06em;margin-bottom:.6rem;color:var(--forest)}
.why--hl .why__k{color:var(--gold)}
.why p{font-size:.925rem;line-height:1.75;color:var(--muted-light)}
.why--hl p{color:var(--muted-dark)}
@media(min-width:641px){.grid-5{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1025px){.grid-5{grid-template-columns:repeat(3,1fr)}}

/* ---------- S11 guarantee ---------- */
.guar{
  border:1px solid var(--gold);border-radius:4px;
  padding:clamp(1.75rem,5vw,3.5rem);background:rgba(201,162,83,.04);
}
.guar__req{display:grid;gap:.75rem;grid-template-columns:1fr;margin:clamp(1.75rem,4vh,2.5rem) 0}
.req{display:flex;align-items:center;gap:1rem;padding:.9rem 1.15rem;background:rgba(234,230,220,.04);border-radius:2px}
.req__n{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;
  font-family:var(--display);font-size:1.1rem;color:var(--ink);background:var(--gold);
  /* 用 em + aspect-ratio：user 放大系統字體時個圈會跟住大，唔會爆格 */
  min-width:1.9em;min-height:1.9em;aspect-ratio:1;padding:.14em;line-height:1;
  border-radius:50%;display:grid;place-items:center;flex:0 0 auto;
}
.guar__terms{
  padding:clamp(1.25rem,3vw,1.75rem);border:1px solid var(--gold);border-radius:3px;
  background:var(--ink);font-size:1rem;line-height:1.9;
}
.guar__terms strong{color:var(--gold-lite)}
.guar__close{
  margin-top:clamp(1.75rem,4vh,2.5rem);text-align:center;
  font-family:var(--serif);font-size:clamp(1.15rem,2.6vw,1.6rem);color:var(--gold-lite);line-height:1.7;
}
@media(min-width:641px){.guar__req{grid-template-columns:1fr 1fr}}

/* ---------- S12 screening ---------- */
.screen{display:grid;gap:var(--gap);grid-template-columns:1fr}
.screen__col{padding:clamp(1.5rem,3vw,2.25rem);border-radius:3px}
.screen__col--fit{background:var(--ink);color:var(--on-dark)}
.screen__col--unfit{background:var(--cream-2);color:var(--muted-light)}
.screen__h{font-family:var(--serif);font-size:1.15rem;margin-bottom:1.35rem;padding-bottom:.85rem;border-bottom:1px solid rgba(0,0,0,.08)}
.screen__col--fit .screen__h{color:var(--gold);border-bottom-color:var(--line)}
.screen li{display:flex;gap:.85rem;padding:.7rem 0;font-size:.95rem;line-height:1.75}
.screen__col--fit .mark{stroke:var(--gold)}
.screen__col--unfit .mark{stroke:#B0AEA4}
@media(min-width:861px){.screen{grid-template-columns:1fr 1fr}}

/* ---------- S13 faq ---------- */
.faq{max-width:var(--wrap-narrow);margin-inline:auto}
.faq details{border-bottom:1px solid rgba(234,230,220,.13)}
.faq summary{
  display:flex;align-items:flex-start;gap:1rem;cursor:pointer;list-style:none;
  padding:1.5rem 0;font-family:var(--serif);font-size:clamp(1.02rem,2vw,1.2rem);
  line-height:1.6;transition:color .2s ease;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--gold-lite)}
.faq__q{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;font-family:var(--display);color:var(--gold);flex:0 0 auto;font-size:1.05rem;padding-top:.15rem}
.faq__ic{margin-left:auto;flex:0 0 auto;width:18px;height:18px;stroke:var(--gold);transition:transform .3s ease}
.faq details[open] .faq__ic{transform:rotate(45deg)}
.faq__a{padding:0 0 1.75rem calc(1rem + 2.2ch);color:var(--muted-dark);font-size:.975rem}
@media(max-width:520px){.faq__a{padding-left:0}}

/* ---------- S14 vision ---------- */
.notes{display:grid;gap:1rem;grid-template-columns:1fr}
.note{
  display:flex;gap:1rem;align-items:flex-start;
  padding:1.15rem 1.35rem;background:#fff;border-radius:14px;
  box-shadow:0 8px 30px rgba(26,36,32,.09);
}
/* icon 統一用線性金 stroke + 墨綠底 —— 唔用平台品牌色（微信綠 / IG 漸變 / Gmail 藍），
   否則呢段會跳出全站嘅克制視覺語言，變返「app 截圖」。容器用 em 跟字體縮放。 */
.note__dot{
  min-width:2.2em;min-height:2.2em;aspect-ratio:1;border-radius:9px;flex:0 0 auto;
  display:grid;place-items:center;background:var(--ink);
  box-shadow:inset 0 0 0 1px rgba(201,162,83,.35);
}
.note__dot svg{width:1.1em;height:1.1em;stroke:var(--gold)}
.note__k{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-light)}
.note__t{font-size:.95rem;line-height:1.7;margin-top:.25rem}
.vision__close{
  margin-top:clamp(2rem,4vh,3rem);text-align:center;
  font-family:var(--serif);font-size:clamp(1.05rem,2.3vw,1.4rem);
  color:var(--forest);line-height:1.8;
}
@media(min-width:861px){
  .notes{grid-template-columns:1fr 1fr;gap:1.25rem}
  .note:nth-child(2),.note:nth-child(4){transform:translateY(1.5rem)}
}

/* ---------- S15 final ---------- */
.final{text-align:center}
.final__vals{
  display:grid;gap:0;margin:clamp(2rem,5vh,3rem) auto;max-width:640px;
  border-top:1px solid var(--line);
}
.final__vals li{padding:1.1rem .5rem;border-bottom:1px solid var(--line);font-size:.975rem;line-height:1.7}
.final__contact{margin-top:1.5rem;color:var(--gold);font-size:.9rem;letter-spacing:.05em;line-height:1.9}
.final__contact a{color:var(--gold-lite);text-decoration:none;border-bottom:1px solid var(--line)}

/* ---------- S16 footer ---------- */
.foot{
  background:var(--ink);border-top:1px solid rgba(234,230,220,.1);
  padding:clamp(3rem,7vh,4.5rem) var(--pad-x);
}
.foot__grid{
  max-width:var(--wrap);margin-inline:auto;
  display:grid;gap:2rem;grid-template-columns:1fr;align-items:start;
}
.foot__brand{font-family:var(--serif);font-size:1.15rem}
.foot__prog{font-family:var(--display);letter-spacing:.18em;color:var(--gold);font-size:.85rem;margin-top:.4rem}
.foot a{color:var(--gold-lite)}
.foot__meta{font-size:.8rem;color:var(--muted-dark);line-height:1.9}
.foot__legal{
  max-width:var(--wrap);margin:clamp(2rem,5vh,3rem) auto 0;
  padding-top:1.5rem;border-top:1px solid rgba(234,230,220,.09);
  font-size:.78rem;color:var(--muted-dark);line-height:1.9;
}
@media(min-width:861px){.foot__grid{grid-template-columns:1.2fr 1fr auto}}

/* ---------- motion ---------- */
.rise{opacity:0;transform:translateY(16px);transition:opacity .6s ease-out,transform .6s ease-out}
.rise.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .rise{opacity:1;transform:none}
}
