/* ============================================================
   靜觀基金會 —— v3 版型（tanpopo 語言）× 藍天白雲自然色 CI
   極淡天空白 ・ 藍色圓體文字 ・ 直角照片 ・ 大留白 ・ 陽光黃墨團
   看見希望・曙光
   ============================================================ */
:root{
  --bg:#f2f6fa;             /* 極淡天空白 */
  --white:#ffffff;
  --blue:#4a7fae;           /* 主藍（文字） */
  --blue-deep:#3a6a96;
  --blue-pale:#a9c6dd;      /* 大英文標題的淡藍 */
  --text:#4a5a68;           /* 內文墨藍灰 */
  --text-soft:#7d8d9b;
  --yellow:#dfc23c;         /* 陽光黃（Logo/底線） */
  --yellow-soft:#e8cf5e;
  --dot:#c5d3de;            /* 虛線色 */
  --round:"Huninn","Zen Maru Gothic",sans-serif;
  --body:"Noto Sans TC","PingFang TC",sans-serif;
  --hand:"LXGW WenKai TC",serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{
  font-family:var(--body);
  background:var(--bg);
  color:var(--text);
  font-size:15.5px;
  line-height:2.1;
  letter-spacing:.06em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
/* 真實雲霧底圖（極淡） */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:
    linear-gradient(180deg,rgba(242,246,250,.55) 0%,rgba(242,246,250,.8) 60%,rgba(242,246,250,.95) 100%),
    url("img/sky-clouds.jpg") center top/cover no-repeat;
  opacity:.5;
}
/* 細緻紙紋 */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .35 0 0 0 0 .42 0 0 0 .025 0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
}
::selection{background:var(--yellow);color:#4c4425}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
:focus-visible{outline:2.5px solid var(--yellow);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--round);font-weight:400}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(22px,5vw,64px);position:relative;z-index:2}

/* ---------- 固定 Logo 墨團（陽光黃） ---------- */
.logo-blob{
  position:fixed;top:22px;left:26px;z-index:120;
  width:118px;height:104px;display:block;
}
.logo-blob svg{width:100%;height:100%;overflow:visible}
.logo-blob .word{font-family:var(--hand);fill:#fff;font-size:34px;letter-spacing:2px}
.logo-blob .sub{font-family:var(--round);fill:#fff;font-size:9.5px;letter-spacing:3px}
@media(max-width:720px){.logo-blob{width:88px;height:78px;top:14px;left:14px}}

/* ---------- 導覽列（白色圓角條，右上） ---------- */
header.site{
  position:fixed;top:26px;right:30px;z-index:110;
  background:var(--white);border-radius:999px;
  box-shadow:0 4px 24px -8px rgba(58,106,150,.16);
}
nav.main ul{display:flex;align-items:center;padding:0 14px;height:60px}
nav.main a{
  font-family:var(--round);font-size:14px;letter-spacing:.12em;color:var(--blue);
  padding:10px 14px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  transition:opacity .25s;
}
nav.main a:hover{opacity:.6}
nav.main a .plus{
  width:15px;height:15px;border-radius:50%;background:var(--yellow);flex:none;
  display:inline-grid;place-items:center;color:#fff;font-size:11px;line-height:1;
}
nav.main a.donate{color:#b4762c}
nav.main a.donate .plus{background:#e0a13c}
.burger{
  display:none;position:fixed;top:22px;right:20px;z-index:130;
  width:54px;height:54px;border:none;border-radius:50%;background:var(--white);cursor:pointer;
  box-shadow:0 4px 24px -8px rgba(58,106,150,.22);
  flex-direction:column;justify-content:center;align-items:center;gap:6px;
}
.burger span{width:20px;height:2px;background:var(--blue);transition:all .35s;display:block}
.burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.drawer{
  position:fixed;inset:0;background:rgba(242,246,250,.97);backdrop-filter:blur(6px);z-index:125;
  opacity:0;pointer-events:none;transition:opacity .4s;
  display:flex;align-items:center;justify-content:center;
}
.drawer.open{opacity:1;pointer-events:auto}
.drawer ul{display:flex;flex-direction:column;gap:2px;text-align:center;max-height:86vh;overflow-y:auto}
.drawer a{
  display:block;font-family:var(--round);font-size:19px;letter-spacing:.3em;color:var(--blue);
  padding:11px 30px;
}
.drawer a em{display:block;font-style:normal;font-size:10px;letter-spacing:.25em;color:var(--blue-pale);font-family:var(--body)}
@media(max-width:1080px){
  header.site{display:none}
  .burger{display:flex}
}

/* ---------- 共用 ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.22,1,.36,1)}
.reveal.in{opacity:1;transform:none}
.sec-label{
  font-family:var(--round);font-size:14px;letter-spacing:.22em;color:var(--blue);
  margin-bottom:2px;
}
.sec-en{
  font-family:var(--round);font-size:clamp(34px,4.6vw,54px);letter-spacing:.14em;
  color:var(--blue-pale);line-height:1.25;margin-bottom:clamp(30px,4vw,54px);
}
.link-arrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--round);font-size:15px;letter-spacing:.14em;color:var(--blue);
}
.link-arrow i{
  font-style:normal;width:24px;height:24px;border-radius:50%;background:var(--blue);color:#fff;
  display:inline-grid;place-items:center;font-size:12px;flex:none;transition:transform .3s;
}
.link-arrow u{text-decoration:none;border-bottom:1.5px solid var(--blue);padding-bottom:2px}
.link-arrow:hover i{transform:translateX(4px)}
.btn-pill{
  display:block;width:100%;max-width:900px;margin:34px auto 0;text-align:center;
  font-family:var(--round);font-size:15.5px;letter-spacing:.3em;color:#fff;
  background:var(--blue);border-radius:999px;padding:17px 20px;border:none;cursor:pointer;
  transition:background .3s;
}
.btn-pill:hover{background:var(--blue-deep)}
.btn-dawn{
  display:inline-block;font-family:var(--round);font-size:15px;letter-spacing:.25em;
  color:#5a4514;background:var(--yellow);border-radius:999px;padding:14px 40px;border:none;cursor:pointer;
  transition:background .3s,transform .2s;box-shadow:0 8px 24px -8px rgba(217,165,46,.5);
}
.btn-dawn:hover{background:var(--yellow-soft);transform:translateY(-2px)}
section.block-pad,section.block{padding:clamp(70px,9vw,130px) 0;position:relative}

/* ---------- 雲朵裝飾 ---------- */
.cloud-deco{position:absolute;pointer-events:none;z-index:1;opacity:.9}
.cloud-deco svg{width:100%;height:100%}
@keyframes cloudDrift{0%,100%{transform:translateX(0)}50%{transform:translateX(26px)}}
.cloud-deco{animation:cloudDrift 14s ease-in-out infinite}
/* 蒲公英種子飄浮 */
.dandelion-seed{position:absolute;pointer-events:none;z-index:3}
.dandelion-seed svg{width:100%;height:100%;overflow:visible}
@keyframes drift{
  0%{transform:translate(0,0) rotate(0)}
  30%{transform:translate(-14px,10px) rotate(-9deg)}
  60%{transform:translate(8px,22px) rotate(5deg)}
  100%{transform:translate(0,0) rotate(0)}
}
.dandelion-seed{animation:drift 11s ease-in-out infinite}

/* ---------- 開場：相紙疊放 ---------- */
.intro-open{
  position:fixed;inset:0;z-index:200;background:var(--bg);
  display:grid;place-items:center;transition:opacity .85s ease;
}
.intro-open.done{opacity:0;pointer-events:none}
.intro-open .print{
  position:absolute;width:min(56vw,470px);aspect-ratio:4/3.4;
  background:#fff;padding:clamp(10px,1.4vw,16px);
  box-shadow:0 14px 44px -16px rgba(58,106,150,.3);
  opacity:0;transform:translate(var(--x,0),var(--y,0)) scale(1.14) rotate(calc(var(--r,0deg) + 5deg));
}
.intro-open .print img{width:100%;height:100%;object-fit:cover}
.intro-open .print.in{animation:printDrop .55s cubic-bezier(.2,.75,.3,1) forwards}
@keyframes printDrop{
  to{opacity:1;transform:translate(var(--x,0),var(--y,0)) scale(1) rotate(var(--r,0deg))}
}
@media(prefers-reduced-motion:reduce){.intro-open{display:none}}

/* ---------- HERO：錯落照片帶（框內輪播）＋直排標語 ---------- */
.hero{position:relative;padding:0 0 clamp(60px,7vw,100px)}
.hero-photos{
  display:grid;grid-template-columns:1.1fr 1.25fr 1fr;gap:clamp(10px,1.2vw,18px);
  height:min(78vh,700px);min-height:440px;
}
.hero-photos figure{overflow:hidden;position:relative;opacity:0;transition:opacity 1.6s ease}
.hero-photos figure.in{opacity:1}
.hero-photos figure:nth-child(2){margin-top:clamp(30px,4vw,60px)}
.hero-photos figure:nth-child(3){margin-bottom:clamp(30px,4vw,60px)}
.hero-photos img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity 1.8s ease;transform:scale(1.04);
}
.hero-photos img.act{opacity:1}
/* 直排標語白條 */
.hero-slogan{
  position:absolute;left:clamp(24px,6vw,110px);top:clamp(120px,18vh,200px);z-index:5;
  display:flex;gap:14px;
}
.hero-slogan span{
  writing-mode:vertical-rl;background:#fff;color:var(--text);
  font-family:var(--round);font-size:clamp(21px,2.6vw,30px);letter-spacing:.32em;
  padding:26px 13px;line-height:1;box-shadow:0 6px 30px -12px rgba(58,106,150,.3);
  opacity:0;transform:translateY(18px);transition:opacity 1s ease,transform 1s ease;
}
.hero-slogan span b{font-weight:400;color:#c99b1f}
.hero-slogan span:nth-child(2){margin-top:54px;transition-delay:.35s}
.hero-slogan.in span{opacity:1;transform:none}
.hero-foot{
  display:flex;justify-content:space-between;align-items:flex-end;gap:30px;
  margin-top:clamp(26px,3vw,44px);flex-wrap:wrap;
}
.hero-foot p{font-size:13.5px;letter-spacing:.12em;color:var(--text-soft)}
.hero-foot .scrolltxt{
  font-family:var(--round);font-size:11px;letter-spacing:.4em;color:var(--blue-pale);
  display:inline-flex;align-items:center;gap:12px;
}
.hero-foot .scrolltxt::after{content:"";width:60px;height:1.5px;background:var(--blue-pale)}
@media(max-width:720px){
  .hero-photos{grid-template-columns:1.2fr 1fr;height:min(64vh,520px);min-height:380px}
  .hero-photos figure:nth-child(3){display:none}
  .hero-slogan{left:18px;top:100px}
  .hero-slogan span{font-size:19px;padding:20px 11px}
}

/* ---------- 介紹（黃墨團蒲公英） ---------- */
.intro{padding:clamp(70px,9vw,130px) 0}
.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,5vw,80px);align-items:center}
.intro-copy h2{
  font-size:clamp(25px,3.2vw,36px);color:var(--blue);letter-spacing:.18em;line-height:2;
  margin-bottom:clamp(24px,3vw,40px);
}
.intro-copy p{margin-bottom:1.6em;font-size:15px;color:var(--text)}
.intro-links{display:flex;gap:34px;flex-wrap:wrap;margin-top:34px}
.intro-art{position:relative;min-height:320px}
.intro-art svg{width:100%;height:auto;overflow:visible}
@keyframes swayy{0%,100%{transform:rotate(0)}50%{transform:rotate(3deg)}}
.intro-art .seed{transform-origin:center;animation:swayy 6s ease-in-out infinite}
@media(max-width:960px){
  .intro-grid{grid-template-columns:1fr}
  .intro-art{max-width:420px;margin:0 auto}
}

/* ---------- 理念（大藍標＋散落照片） ---------- */
.policy{padding:clamp(40px,6vw,90px) 0 clamp(70px,9vw,130px)}
.policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4vw,60px)}
.policy-copy h2{
  font-size:clamp(26px,3.4vw,38px);color:var(--blue);letter-spacing:.18em;line-height:1.95;
  margin-bottom:clamp(24px,3vw,40px);
}
.policy-copy p{font-size:15px;margin-bottom:1.6em}
.policy-copy .phi-line{
  font-family:var(--round);color:var(--blue);font-size:16.5px;letter-spacing:.14em;
  padding-left:20px;position:relative;margin-bottom:10px;
}
.policy-copy .phi-line::before{
  content:"";position:absolute;left:0;top:.85em;width:9px;height:9px;border-radius:50%;background:var(--yellow);
}
.policy-copy .phi-line small{display:block;font-family:var(--body);font-size:13.5px;color:var(--text-soft);letter-spacing:.08em;padding-left:0}
.policy-photos{position:relative;min-height:480px}
.policy-photos figure{position:absolute;overflow:hidden}
.policy-photos img{width:100%;height:100%;object-fit:cover}
.policy-photos .ph1{width:72%;top:0;right:0;aspect-ratio:4/3}
.policy-photos .ph2{width:52%;bottom:0;left:0;aspect-ratio:4/3}
@media(max-width:960px){
  .policy-grid{grid-template-columns:1fr}
  .policy-photos{min-height:0;display:grid;grid-template-columns:1.2fr 1fr;gap:14px;align-items:start}
  .policy-photos figure{position:static}
  .policy-photos .ph1,.policy-photos .ph2{width:100%}
  .policy-photos .ph2{margin-top:40px}
}

/* ---------- 組織架構 ---------- */
.org-box{background:var(--white);padding:clamp(26px,4vw,50px);margin-top:clamp(40px,5vw,64px)}
.org-box h3{text-align:center;font-size:clamp(19px,2.2vw,23px);letter-spacing:.3em;margin-bottom:26px;color:var(--text)}
.org-chart{display:flex;flex-direction:column;align-items:center}
.org-node{
  font-family:var(--round);font-size:15.5px;letter-spacing:.35em;text-indent:.35em;
  border:2px solid var(--blue);color:var(--blue-deep);border-radius:999px;
  padding:9px 44px;background:var(--white);white-space:nowrap;
}
.org-node.top{background:var(--blue);color:#fff}
.org-vline{width:2px;height:26px;background:var(--blue-pale)}
.org-exec{display:flex;align-items:center;gap:18px}
.org-node.advisor{border-style:dashed;border-color:var(--blue-pale);color:var(--text-soft);padding:7px 26px;font-size:13.5px}
.org-hwrap{position:relative;width:min(560px,92%)}
.org-hline{position:absolute;top:0;left:16.6%;right:16.6%;height:2px;background:var(--blue-pale)}
.org-branches{display:flex;justify-content:space-between}
.org-branch{display:flex;flex-direction:column;align-items:center;width:33.3%}
.org-branch .org-vline{height:22px}
.org-node.leaf{border-color:var(--yellow);color:#8a6a1c;padding:8px 22px;font-size:14px}

/* ---------- 服務卡片（Our support） ---------- */
.support{padding:clamp(70px,9vw,120px) 0}
.svc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,22px)}
.svc-card{
  background:var(--white);padding:clamp(14px,1.6vw,22px) clamp(14px,1.6vw,22px) clamp(20px,2.2vw,28px);
  display:flex;flex-direction:column;transition:transform .4s;
}
.svc-card:hover{transform:translateY(-6px)}
.svc-card figure{overflow:hidden;aspect-ratio:4/3;margin-bottom:18px}
.svc-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.svc-card:hover img{transform:scale(1.05)}
.svc-card figure.ph{
  display:grid;place-items:center;background:linear-gradient(160deg,#e3eefb,#cfe2f2);
  font-family:var(--round);color:var(--blue);font-size:17px;letter-spacing:.2em;
}
.svc-card h3{
  text-align:center;font-size:16.5px;letter-spacing:.12em;color:var(--blue);
  padding-bottom:8px;margin-bottom:12px;position:relative;
}
.svc-card h3::after{
  content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:74%;height:3px;border-radius:3px;background:var(--yellow-soft);
}
.svc-card .tag{
  text-align:center;font-family:var(--round);font-size:14.5px;color:var(--text);
  letter-spacing:.1em;margin-bottom:10px;line-height:1.9;
}
.svc-card p{font-size:12.5px;color:var(--text-soft);line-height:1.95;letter-spacing:.04em;flex:1}
.svc-card .time{
  margin-top:12px;text-align:center;font-size:11.5px;letter-spacing:.12em;color:var(--blue-deep);
  background:var(--bg);border-radius:999px;padding:5px 8px;
}
@media(max-width:960px){.svc-cards{grid-template-columns:1fr;max-width:430px;margin:0 auto}}

/* ---------- 據點一覽（虛線列） ---------- */
.offices{padding:clamp(20px,4vw,60px) 0 clamp(70px,9vw,120px)}
.office-box{background:var(--white);padding:clamp(28px,4vw,56px) clamp(22px,4vw,56px)}
.office-box h3{
  text-align:center;font-size:clamp(19px,2.2vw,24px);letter-spacing:.3em;color:var(--text);
  margin-bottom:clamp(26px,3vw,40px);
}
.office-rows li{
  display:grid;grid-template-columns:1.15fr 1.1fr .95fr;gap:12px 26px;align-items:center;
  padding:17px 4px;border-bottom:1.5px dashed var(--dot);
}
.office-rows li:first-child{border-top:1.5px dashed var(--dot)}
.office-rows h4{font-size:15.5px;letter-spacing:.08em}
.office-rows h4 a,.office-rows h4 .nm{color:var(--blue);border-bottom:1.5px solid var(--blue);padding-bottom:2px}
.office-rows h4 .note{
  font-family:var(--body);font-size:11px;color:#b4762c;letter-spacing:.1em;margin-left:8px;border:none;
}
.office-rows .addr,.office-rows .tel{font-size:13.5px;color:var(--text-soft);letter-spacing:.05em}
.office-rows .tel a{border-bottom:1px dashed var(--text-soft)}
@media(max-width:960px){.office-rows li{grid-template-columns:1fr;gap:2px;padding:15px 4px}}

/* ---------- 目的事業（安靜清單）＋數字 ---------- */
.mission{padding:0 0 clamp(70px,9vw,120px)}
.mission-inner{max-width:900px;margin:0 auto;text-align:center}
.mission-inner h3{font-size:17px;letter-spacing:.3em;color:var(--blue);margin-bottom:18px}
.mission-list{font-size:14px;color:var(--text-soft);letter-spacing:.08em;line-height:2.4}
.mission-list b{color:var(--text);font-weight:500}
.mission-stats{
  display:flex;justify-content:center;gap:clamp(24px,5vw,70px);flex-wrap:wrap;
  margin-top:clamp(30px,4vw,50px);
}
.mission-stats div{text-align:center}
.mission-stats b{
  font-family:var(--round);font-weight:400;font-size:clamp(30px,3.4vw,42px);color:var(--blue);display:block;line-height:1.3;
}
.mission-stats b em{font-style:normal;font-size:14px;color:var(--text-soft)}
.mission-stats span{font-size:12px;letter-spacing:.15em;color:var(--text-soft)}

/* ---------- 最新消息/公告 ---------- */
.news{padding:0 0 clamp(70px,9vw,120px)}
.news-rows li{border-bottom:1.5px dashed var(--dot)}
.news-rows li:first-child{border-top:1.5px dashed var(--dot)}
.news-rows a{
  display:grid;grid-template-columns:110px 1fr;gap:10px 30px;align-items:baseline;
  padding:17px 6px;transition:opacity .25s;
}
.news-rows a:hover{opacity:.6}
.news-rows time{font-family:var(--round);font-size:13.5px;color:var(--blue);letter-spacing:.1em}
.news-rows .t{font-size:14.5px;letter-spacing:.05em}
.news-more{text-align:right;margin-top:22px}
@media(max-width:720px){.news-rows a{grid-template-columns:1fr;gap:0}}

/* ---------- 影音 ---------- */
.video{padding:0 0 clamp(70px,9vw,120px)}
.video-grid{display:grid;grid-template-columns:1fr .85fr;gap:clamp(30px,4vw,64px);align-items:center}
.video-frame{aspect-ratio:16/9;position:relative;background:#dde6ee}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-copy h3{font-size:clamp(20px,2.4vw,26px);color:var(--blue);letter-spacing:.16em;line-height:2;margin-bottom:16px}
.video-copy p{font-size:14px;color:var(--text-soft);margin-bottom:26px}
@media(max-width:960px){.video-grid{grid-template-columns:1fr}}

/* ---------- 臉書動態 ---------- */
.fb-sec{padding:0 0 clamp(70px,9vw,120px)}
.fb-grid{display:grid;grid-template-columns:minmax(0,500px) 1fr;gap:clamp(30px,4vw,60px);align-items:start}
.fb-embed{background:var(--white);padding:10px;min-height:420px}
.fb-embed iframe{width:100%;border:0;display:block}
.fb-side h3{font-size:clamp(20px,2.4vw,26px);color:var(--blue);letter-spacing:.16em;line-height:1.9;margin:12px 0 14px}
.fb-side p{font-size:14px;color:var(--text-soft);margin-bottom:22px}
.fb-links{display:flex;flex-direction:column;gap:12px}
@media(max-width:860px){.fb-grid{grid-template-columns:1fr}}

/* ---------- 加入我們 ---------- */
.join{padding:0 0 clamp(70px,9vw,120px)}
.join-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,22px)}
.join-card{
  background:var(--white);padding:clamp(24px,3vw,36px);text-align:center;transition:transform .35s;
}
.join-card:hover{transform:translateY(-5px)}
.join-card .ic{font-size:32px;margin-bottom:8px}
.join-card h3{
  font-size:17px;letter-spacing:.2em;color:var(--blue);margin-bottom:10px;
  padding-bottom:8px;position:relative;
}
.join-card h3::after{
  content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:52%;height:3px;border-radius:3px;background:var(--yellow-soft);
}
.join-card p{font-size:13px;color:var(--text-soft);line-height:2;margin-bottom:16px}
@media(max-width:860px){.join-grid{grid-template-columns:1fr;max-width:430px;margin:0 auto}}

/* ---------- 支持我們（首頁段） ---------- */
.donate{padding:0 0 clamp(80px,10vw,140px)}
.donate-lead{max-width:34em;font-size:15px;margin-bottom:clamp(30px,4vw,50px)}
.donate-box{background:var(--white);padding:clamp(28px,4vw,56px)}
.donate-rows,.acct-rows{max-width:900px;margin:0 auto}
.donate-rows>div,.acct-rows>div{
  display:grid;grid-template-columns:150px 1fr auto;gap:12px 30px;align-items:center;
  padding:20px 4px;border-bottom:1.5px dashed var(--dot);
}
.donate-rows>div:first-child,.acct-rows>div:first-child{border-top:1.5px dashed var(--dot)}
.donate-rows h4,.acct-rows h4{font-size:15.5px;letter-spacing:.2em;color:var(--blue)}
.donate-rows .acc,.acct-rows .acc{font-family:var(--round);font-size:clamp(19px,2.2vw,25px);letter-spacing:.08em;color:var(--text)}
.donate-rows .acc small,.acct-rows .acc small{display:block;font-family:var(--body);font-size:12.5px;color:var(--text-soft);letter-spacing:.06em}
.copy-btn{
  font-family:var(--round);font-size:12.5px;letter-spacing:.2em;color:var(--blue);
  background:none;border:1.5px solid var(--blue);border-radius:999px;padding:8px 22px;cursor:pointer;
  transition:all .3s;white-space:nowrap;
}
.copy-btn:hover{background:var(--blue);color:#fff}
.donate-note,.acct-note{
  max-width:900px;margin:26px auto 0;font-size:12.5px;color:var(--text-soft);letter-spacing:.05em;
}
.donate-note a,.acct-note a{color:var(--blue);border-bottom:1px solid var(--blue)}
@media(max-width:720px){.donate-rows>div,.acct-rows>div{grid-template-columns:1fr;gap:8px}}

/* ---------- 捐款頁 ---------- */
.dn-hero{position:relative;height:min(94vh,820px);min-height:540px;overflow:hidden;display:flex;align-items:center}
.dn-hero .bg{position:absolute;inset:0}
.dn-hero .bg img{width:100%;height:100%;object-fit:cover;object-position:center 28%}
.dn-hero .bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(30,70,110,.16) 0%,rgba(30,70,110,.42) 100%);
}
.dn-hero .inner{position:relative;z-index:3;color:#fff;text-align:center;width:100%}
.dn-hero .tagchip{
  display:inline-block;font-family:var(--round);font-size:13px;letter-spacing:.3em;
  background:rgba(255,255,255,.92);color:var(--blue-deep);border-radius:999px;padding:7px 24px;margin-bottom:22px;
}
.dn-hero h1{
  font-size:clamp(30px,4.8vw,54px);letter-spacing:.2em;line-height:1.85;
  text-shadow:0 4px 30px rgba(20,50,80,.6);margin-bottom:14px;
}
.dn-hero h1 b{font-weight:400;color:var(--yellow-soft)}
.dn-hero p{font-size:clamp(13.5px,1.5vw,16px);letter-spacing:.16em;text-shadow:0 2px 16px rgba(20,50,80,.65)}
.float-cta{
  position:fixed;right:26px;bottom:90px;z-index:95;
  width:86px;height:86px;border-radius:50%;border:none;cursor:pointer;
  background:var(--yellow);color:#5a4514;font-family:var(--round);
  font-size:15px;letter-spacing:.2em;line-height:1.6;
  box-shadow:0 10px 30px -8px rgba(217,165,46,.7);
  display:grid;place-items:center;transition:transform .25s;
}
.float-cta:hover{transform:scale(1.08)}
.dn-story{max-width:760px;margin:0 auto;text-align:center}
.dn-story p{font-size:15px;margin-bottom:1.7em;text-align:left}
.dn-story .q{
  font-family:var(--round);font-size:clamp(19px,2.4vw,25px);color:var(--blue);
  letter-spacing:.14em;line-height:2.1;margin:38px 0;text-align:center;
}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,22px);max-width:1000px;margin:0 auto}
.plan-card{
  background:var(--white);padding:clamp(26px,3vw,36px) clamp(20px,2.4vw,30px);text-align:center;
  display:flex;flex-direction:column;transition:transform .3s;
}
.plan-card:hover{transform:translateY(-6px)}
.plan-card .per{font-family:var(--round);font-size:12.5px;letter-spacing:.3em;color:var(--text-soft)}
.plan-card .amt{
  font-family:var(--round);font-size:clamp(30px,3.4vw,40px);color:var(--blue-deep);line-height:1.4;margin:6px 0 4px;
}
.plan-card .amt small{font-size:15px;letter-spacing:.1em}
.plan-card h4{
  font-size:15px;letter-spacing:.12em;color:var(--text);margin-bottom:8px;
  padding-bottom:8px;position:relative;
}
.plan-card h4::after{
  content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:56%;height:3px;border-radius:3px;background:var(--yellow-soft);
}
.plan-card p{font-size:12.5px;color:var(--text-soft);line-height:1.95;flex:1;margin-bottom:18px}
.plan-card .go{
  font-family:var(--round);font-size:13px;letter-spacing:.25em;color:#5a4514;
  background:var(--yellow);border-radius:999px;padding:10px 0;display:block;transition:background .3s;
}
.plan-card .go:hover{background:var(--yellow-soft)}
@media(max-width:860px){.plan-grid{grid-template-columns:1fr;max-width:430px}}
.acct-box{background:var(--white);padding:clamp(28px,4vw,52px)}
.goods-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1000px;margin:0 auto}
.goods-card{background:var(--white);padding:24px 16px;text-align:center}
.goods-card .ic{font-size:30px;margin-bottom:8px}
.goods-card h4{font-size:14.5px;letter-spacing:.15em;color:var(--blue);margin-bottom:6px}
.goods-card p{font-size:12px;color:var(--text-soft);line-height:1.9}
@media(max-width:860px){.goods-grid{grid-template-columns:repeat(2,1fr)}}
.faq{max-width:860px;margin:0 auto}
.faq details{border-bottom:1.5px dashed var(--dot);padding:4px 2px}
.faq details:first-child{border-top:1.5px dashed var(--dot)}
.faq summary{
  cursor:pointer;list-style:none;display:flex;align-items:center;gap:14px;
  font-family:var(--round);font-size:15px;letter-spacing:.1em;color:var(--text);padding:16px 2px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{
  content:"＋";font-size:14px;color:#c99b1f;flex:none;transition:transform .3s;
}
.faq details[open] summary::before{transform:rotate(45deg)}
.faq .a{font-size:13.5px;color:var(--text-soft);padding:0 2px 20px 30px;line-height:2.1}
.faq .a b{color:var(--text)}

/* ---------- 內頁頁首（含公開徵信頁） ---------- */
.credit-hero,.page-hero{position:relative;padding:clamp(150px,20vh,210px) 0 clamp(50px,7vw,80px);text-align:center}
.credit-hero h1,.page-hero h1{font-size:clamp(28px,3.8vw,42px);letter-spacing:.26em;color:var(--blue);margin-bottom:12px}
.credit-hero p,.page-hero p{max-width:36em;margin:0 auto;font-size:14.5px;color:var(--text-soft)}
.page-hero .en{
  display:block;font-family:var(--round);font-size:13px;letter-spacing:.35em;color:var(--blue-pale);
  margin-bottom:10px;
}
/* 首頁服務入口卡的箭頭連結列 */
.svc-card .more{text-align:center;margin-top:12px}
.year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:900px;margin:0 auto}
.year-card{
  background:var(--white);padding:24px 18px;text-align:center;transition:transform .3s;font-family:var(--round);
}
.year-card:hover{transform:translateY(-4px)}
.year-card b{font-weight:400;font-size:24px;color:var(--blue-deep);display:block;line-height:1.5}
.year-card span{font-size:12.5px;letter-spacing:.2em;color:var(--text-soft)}
.year-card .lk{
  display:inline-block;margin-top:10px;font-size:12px;letter-spacing:.15em;color:var(--blue);
  border-bottom:1.5px solid var(--blue);padding-bottom:2px;
}
@media(max-width:720px){.year-grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- 頁尾（水彩天空與海） ---------- */
footer.site{position:relative;z-index:1;color:var(--text)}
.foot-sky{
  background:linear-gradient(180deg,rgba(242,246,250,0) 0%,#e2edf5 30%,#d3e4ec 68%,#c2dbe8 100%);
  padding:clamp(70px,9vw,120px) 0 0;
}
.foot-info .f-logo{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.foot-info .f-logo svg{width:64px;height:56px}
.foot-info .f-logo .name{font-family:var(--round);font-size:23px;letter-spacing:.2em;color:var(--text)}
.foot-info .f-logo .name small{display:block;font-size:10.5px;letter-spacing:.08em;color:var(--text-soft);font-family:var(--body)}
.foot-info address{font-style:normal;font-size:13.5px;letter-spacing:.08em;line-height:2.2;color:var(--text)}
.foot-links{display:flex;gap:26px;flex-wrap:wrap;margin-top:18px}
.foot-links a{
  font-size:13px;letter-spacing:.1em;color:var(--blue);border-bottom:1.5px solid var(--blue);
  padding-bottom:2px;display:inline-flex;align-items:center;gap:6px;
}
.foot-links a::before{content:"▹";font-size:11px}
.foot-sea{display:block;width:100%;height:auto;margin-top:clamp(30px,5vw,60px)}
.foot-base{
  background:#7fb2cc;text-align:center;padding:16px 20px 20px;
  font-family:var(--round);font-size:11.5px;letter-spacing:.2em;color:#fff;
}

/* ---------- 回頂端 / toast ---------- */
.top-btn{
  position:fixed;right:22px;bottom:22px;z-index:90;width:52px;height:52px;border-radius:50%;
  background:var(--white);color:var(--blue);border:none;cursor:pointer;
  box-shadow:0 6px 24px -8px rgba(58,106,150,.3);
  opacity:0;pointer-events:none;transition:opacity .35s;
  display:grid;place-items:center;font-family:var(--round);font-size:15px;
}
.top-btn.show{opacity:1;pointer-events:auto}
.toast{
  position:fixed;left:50%;bottom:34px;transform:translate(-50%,90px);z-index:200;
  background:var(--blue-deep);color:#fff;padding:12px 34px;border-radius:999px;
  font-family:var(--round);font-size:13.5px;letter-spacing:.2em;opacity:0;transition:all .4s;
}
.toast.show{opacity:1;transform:translate(-50%,0)}

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