/* 版面微調：在 styles.css、home-media.css 之後載入，只覆蓋「尺寸與留白」，不改配色與設計。
   目的：筆電上不要太滿、標題不要太大、每個區塊不要都接近一整屏，讓頁面像流暢的網頁而不是投影片。
   想調鬆緊，改下面的數字即可；整支檔案移除就會回到原本的樣子。 */
@media (min-width:761px) {
  :root { --text:18px; --label:14px; }
  .container { width:min(1080px, calc(100% - 96px)); }
  .nav-shell, .footer-shell { width:min(1180px, calc(100% - 96px)); }
  .nav-shell { height:80px; }
  .main-nav { gap:30px; }

  h1, .hero h1 { font-size:clamp(38px, 5.2vw, 68px); }
  h2 { font-size:clamp(28px, 3.2vw, 44px); }
  .programs .section-title h2, .experience-heading h2, .outcomes-title { font-size:clamp(28px, 3.1vw, 42px); }
  .intro-title { font-size:clamp(27px, 2.9vw, 40px); }
  .principle-list h3 { font-size:28px; margin:28px 0 10px; }

  .hero { height:min(720px, 84vh); min-height:560px; }
  .hero-copy { padding-top:clamp(150px, 22vh, 220px); }
  .intro-section { padding:clamp(60px, 7vw, 92px) 0; }
  .principles { padding:76px 0 68px; }
  .principle-list article { min-height:190px; }
  .experience-gallery { padding:76px 0 84px; }
  .clients { padding:68px 0 72px; }
  .client-logo-grid figure { height:112px; }
  .programs { padding:84px 0 92px; }
  .program-card { min-height:340px; }
  .video-showcase { padding-bottom:80px; }
  .outcomes { padding:76px 0; }
  .outcome-grid article { min-height:230px; }
  .journal { padding:84px 0 92px; }
  .newsletter { padding:68px 0; }
  .contact { padding:80px 0; }
  .programs-hero { padding:148px 0 64px; }
  .programs-index { padding:40px 0 92px; }
  .format-card { min-height:210px; }
  .blog-hero { padding:148px 0 76px; }
  .blog-index { padding:56px 0 104px; }
  .article-header { padding:136px 0 56px; }
  .article-content { padding:52px 0 92px; }
}

/* 整張卡片可點（用延伸的透明連結，避免改動卡片內部排版） */
.program-card, .format-card { position:relative; }
.card-link { position:absolute; inset:0; z-index:3; }
.program-card:hover, .format-card.has-page:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(23,53,45,.14); }
.program-card, .format-card { transition:transform .2s, box-shadow .2s; }
.format-cta { display:inline-block; margin-top:12px; font-style:normal; font-weight:700; font-size:15px; color:var(--moss); border-bottom:1px solid currentColor; }
.format-card.has-page .format-cta { color:var(--clay); }

/* 首頁：找到適合的方案 */
.finder { padding:0 0 84px; }
.finder-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:16px; }
.finder-tile { display:flex; flex-direction:column; justify-content:space-between; gap:18px; min-height:210px; padding:30px; background:var(--sand); border-radius:3px; transition:transform .2s, box-shadow .2s; }
.finder-tile:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(23,53,45,.14); }
.finder-tile h3 { margin:0; font:600 26px/1.3 var(--display); }
.finder-tile p { margin:0 0 6px; }
.finder-tile span { font-weight:700; border-bottom:1px solid currentColor; align-self:flex-start; padding-bottom:2px; }
.finder-main { background:var(--green); color:var(--cream); }
.finder-main h3 { font-size:30px; }
.finder-main p:not(.eyebrow) { color:#d3ddd5; font-size:16px; }
.finder-main span { color:var(--lime); }

/* 方案列表：不確定哪個適合 */
.programs-pick { padding-top:36px; }
.pick-bar { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:22px 28px; background:var(--sand); border-radius:3px; }
.pick-bar strong { display:block; font-size:20px; }
.pick-bar span { color:#52665e; font-size:16px; }
.pick-actions { display:flex; align-items:center; gap:22px; flex-shrink:0; }
.pick-primary { min-width:0; background:var(--green); color:var(--cream); border-color:var(--green); }
.pick-link { border-bottom:1px solid currentColor; font-size:16px; }

/* 頁尾導覽 */
.footer-nav { display:flex; flex-wrap:wrap; gap:6px 20px; margin-top:14px; font-size:15px; }
.footer-nav a { color:#bbc9c0; border-bottom:1px solid transparent; }
.footer-nav a:hover { color:var(--lime); border-color:currentColor; }

@media (max-width:760px) {
  .finder { padding-bottom:56px; }
  .finder-grid { grid-template-columns:1fr; }
  .finder-tile { min-height:0; padding:24px; }
  .pick-bar { flex-direction:column; align-items:flex-start; padding:20px; }
  .pick-actions { flex-wrap:wrap; }
}
.pick-primary span { color:var(--lime); }

/* 手機版：固定在底部的「取得預估報價」（由 sticky-cta.js 建立，只在手機寬度顯示） */
.sticky-cta { display:none; }
@media (max-width:760px) {
  .sticky-cta { display:flex; align-items:center; justify-content:space-between; gap:12px; position:fixed; left:16px; right:16px; bottom:calc(14px + env(safe-area-inset-bottom, 0px)); z-index:60; padding:14px 22px; border-radius:99px; background:var(--lime); color:var(--ink); font-weight:700; font-size:17px; line-height:1.2; box-shadow:0 10px 28px rgba(7,31,25,.35); transform:translateY(170%); visibility:hidden; transition:transform .3s, visibility 0s .3s; }
  .sticky-cta.on { transform:none; visibility:visible; transition:transform .3s; }
  .sticky-cta b { font-size:22px; }
  body { padding-bottom:0; }
}
@media (prefers-reduced-motion: reduce) { .sticky-cta, .sticky-cta.on { transition:none; } }
