:root{--navy:#073b5c;--blue:#0d5f8f;--soft:#eaf5fb;--red:#d84b45;--red-dark:#b93833;--gold:#efb84b;--ink:#20313d;--muted:#667985;--line:#d9e4ea;--page:1120px;--shadow:0 14px 34px rgba(7,59,92,.11)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;color:var(--ink);background:#f6f9fb;font-family:"Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif;line-height:1.75}
a{color:var(--blue);text-underline-offset:.18em}
a:hover{color:var(--red-dark)}
.page,.hero-inner{width:min(calc(100% - 32px),var(--page));margin:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:99;top:8px;left:8px;padding:8px 14px;color:#fff;background:var(--navy);transform:translateY(-150%)}
.skip-link:focus{transform:none}

/* 固定表頭 */
.site-header{position:sticky;z-index:20;top:0;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.nav-wrap{display:flex;width:min(calc(100% - 32px),var(--page));min-height:66px;margin:auto;align-items:center;justify-content:space-between;gap:18px}
.brand{color:var(--navy);font-weight:900;text-decoration:none;white-space:nowrap}
.nav-toggle{display:none;padding:7px 11px;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:8px;font-size:1.1rem}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-links>a,.nav-more summary{padding:8px 9px;color:var(--ink);font-size:.88rem;font-weight:700;text-decoration:none;white-space:nowrap}
.nav-more{position:relative}
.nav-more summary{cursor:pointer;list-style:none}
.nav-more summary::-webkit-details-marker{display:none}
.nav-more summary i{margin-left:3px;font-size:.8em;transition:transform .2s ease}
.nav-more[open] summary i{transform:rotate(180deg)}
.nav-more-menu{position:absolute;z-index:30;top:calc(100% + 14px);left:50%;display:grid;width:230px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 30px rgba(7,59,92,.16);transform:translateX(-50%)}
.nav-more-menu a{padding:8px 10px;color:var(--ink);border-radius:7px;font-size:.9rem;text-decoration:none}
.nav-more-menu a:hover{color:var(--blue);background:var(--soft)}
.nav-social{display:flex}
.nav-social a{display:block;width:34px;padding:8px 9px;color:var(--ink)!important;font-size:.88rem;line-height:1.5;text-align:center}
.nav-cta{padding:7px 14px!important;color:#fff!important;background:var(--red);border-radius:999px}
.nav-cta:hover{background:var(--red-dark)}

/* 總覽頁 */
.hero{color:#fff;background:radial-gradient(circle at 82% 10%,rgba(239,184,75,.32),transparent 27%),linear-gradient(125deg,var(--navy),var(--blue))}
.hero-inner{padding:64px 0 58px}
.eyebrow{margin:0 0 10px;color:#ffd875;font-weight:900;letter-spacing:.12em}
.hero h1{max-width:900px;margin:0;font-size:clamp(2.1rem,5vw,4rem);line-height:1.16}
.hero p{max-width:780px;margin:18px 0 0;color:rgba(255,255,255,.9);font-size:1.06rem}
.section{padding:56px 0}
.section-head{max-width:760px;margin:0 auto 28px;text-align:center}
.section-head small{color:var(--red);font-weight:900;letter-spacing:.1em}
.section-head h2{margin:5px 0 8px;color:var(--navy);font-size:clamp(1.75rem,4vw,2.5rem)}
.section-head p{margin:0;color:var(--muted)}
.choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:22px}
.choice article{position:relative;overflow:hidden;padding:30px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.choice h2{margin:0 0 10px;color:var(--navy)}
.choice p{color:var(--muted)}
.button{display:inline-flex;padding:9px 18px;color:#fff;background:var(--red);border-radius:999px;font-weight:800;text-decoration:none}
.button:hover{color:#fff;background:var(--red-dark)}
.results-overview{background:#fff8ec}
.results-overview .hero{background:radial-gradient(circle at 78% 18%,rgba(255,213,105,.34),transparent 27%),linear-gradient(125deg,#7d1719,#b52f2c 56%,#8d1e1f)}
.results-overview .eyebrow{color:#ffe09a}
.results-overview #results-choice{background:linear-gradient(180deg,#fff8ec,#fffdf8)}
.results-overview .choice article{border-color:#e5c57b;box-shadow:0 14px 32px rgba(116,45,28,.12)}
.results-overview .choice article::before{position:absolute;top:0;right:0;left:0;height:5px;background:linear-gradient(90deg,#a92828,#e7b64e);content:""}
.results-overview .choice h2{color:#7d231f}

/* Banner 與快速選擇 */
.original-banner{background:transparent}
.original-banner img{display:block;width:min(100%,1200px);height:auto;margin:auto}
.year-nav-wrap{padding:10px 0 0;background:transparent}
.year-nav-wrap>.page{width:min(calc(100% - 32px),900px);padding:20px 24px 18px;background:var(--results-intro-bg);border-radius:16px}
.year-select-wrap{position:relative;display:grid;width:min(100%,560px);margin:auto;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px}
.year-select-wrap label{color:#fff;font-weight:900;white-space:nowrap}
.year-select-wrap select{width:100%;padding:10px 42px 10px 14px;color:var(--ink);background:#fffdf8;border:1px solid #edc776;border-radius:10px;appearance:none;cursor:pointer;font:inherit;font-weight:700}
.year-select-wrap select:focus{border-color:var(--blue);outline:3px solid rgba(13,95,143,.14)}
.year-select-wrap i{position:absolute;right:15px;color:var(--result-accent-dark);pointer-events:none}
.year-help{margin:14px 0 0;color:#fff;font-weight:700;text-align:center;text-shadow:0 1px 5px rgba(30,10,0,.55)}
.results-list{padding-top:24px;background:transparent}

/* 年度收合區 */
.year-panel{margin-bottom:9px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 22px rgba(7,59,92,.07);content-visibility:auto;contain-intrinsic-size:140px 900px}
.year-panel>summary{display:grid;padding:14px 18px;align-items:center;grid-template-columns:auto 1fr auto;gap:14px;cursor:pointer;list-style:none}
.year-panel>summary::-webkit-details-marker{display:none}
.year-panel>summary span{padding:3px 9px;color:#fff;background:var(--result-accent);border-radius:999px;font-size:.82rem;font-weight:900}
.year-panel>summary strong{color:var(--navy);font-size:1.18rem}
.year-panel>summary small{color:var(--muted)}
.year-panel[open]>summary{border-bottom:1px solid var(--line)}
.year-content{padding:18px}
.year-content>div{padding:0}
.result-subtitle{margin:20px 0 10px;color:var(--navy);font-size:1.15rem;text-align:center}

/* 所有名單共用流動式排列 */
.people-list{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 8px;margin:0 0 12px;padding:0;list-style:none}
.people-list li{flex:0 1 auto;max-width:100%;text-align:center;overflow-wrap:anywhere}
.people-list a{font-weight:800}

/* 樣式一：特殊名次 */
.achievement-callout{position:relative;margin:0 0 22px;padding:4px 12px 13px;color:var(--result-accent-dark);font-size:clamp(1.25rem,2.4vw,1.65rem);font-weight:900;line-height:1.45;text-align:center}
.achievement-callout::before{display:inline-block;margin-right:.42em;color:var(--result-accent);font-family:"Font Awesome 6 Free";font-size:.86em;font-weight:900;content:"\f091"}
.achievement-callout::after{display:block;width:64px;height:4px;margin:10px auto 0;background:var(--result-accent);border-radius:999px;content:""}
.top-rank-box{max-width:760px;margin:0 auto 16px}
.top-rank-box .people-list{margin:0}
.top-rank-box .people-list li,.feature-heading+div .people-list li{width:auto;padding:4px 9px;color:#fff;background:linear-gradient(135deg,#ff8a00,#f02416);border-radius:8px;font-weight:900}
.top-rank-box .people-list a,.feature-heading+div .people-list a{color:inherit;text-decoration:none}
.top-rank-box .people-list a:hover,.feature-heading+div .people-list a:hover{text-decoration:underline}
.feature-heading{position:relative;z-index:1;display:table;margin:26px auto -18px!important;padding:4px 18px;color:#fff!important;background:var(--result-accent);border-radius:8px;font-size:1.18rem;line-height:1.5}
.feature-heading+div{max-width:1000px;margin:0 auto 24px;padding:32px 16px 16px;border:1px solid var(--result-accent)}
.feature-heading+div .special-achievement-list,.feature-heading+div .roster-box{margin:0;padding:0;background:transparent;border:0}
.feature-heading+div .people-list{margin:0}

/* 樣式二：上榜群賢 */
.roster-heading{position:relative;z-index:1;display:table;margin:22px auto -20px!important;padding:0 20px;color:var(--result-accent)!important;background:#fff;font-size:1.25rem;font-weight:500;line-height:1.55;letter-spacing:.12em}
.roster-heading+div{max-width:1000px;margin:0 auto 24px;padding:32px 18px 15px;border:1px solid var(--result-accent)}
.roster-heading+div .roster-box{margin:0;padding:0;background:transparent;border:0}
.roster-heading+div .people-list{gap:3px 10px;margin:0}
.roster-heading+div .people-list li{width:auto;padding:3px 5px;color:#111;font-size:1.05rem;font-weight:800;line-height:1.45;white-space:nowrap}
.roster-heading+div .people-list a{color:var(--blue);text-decoration:underline}

/* 後續行動、免費資源與表單 */
.results-next{margin:24px 0 10px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:14px;text-align:center;box-shadow:0 8px 22px rgba(7,59,92,.06)}
.results-next h2{margin:0;color:var(--navy);font-size:1.35rem}
.results-next p{margin:4px 0 13px;color:var(--muted)}
.results-next>div{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.results-next a{display:inline-flex;padding:7px 13px;color:#fff;background:var(--red);border-radius:999px;font-size:.9rem;font-weight:800;text-decoration:none}
.source-note{margin:24px 0 0;padding:15px 18px;color:var(--muted);background:#fff;border-left:4px solid var(--gold);border-radius:8px}
.resource-section{padding:54px 0;background:var(--resource-bg,#eef6fa)}
.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}
.resource-grid article{padding:25px;background:#fff;border:1px solid var(--line);border-radius:16px;text-align:center;box-shadow:var(--shadow)}
.resource-grid i{color:var(--result-accent,var(--red));font-size:2rem}
.resource-grid h3{margin:9px 0;color:var(--navy)}
.resource-grid p{color:var(--muted)}
.resource-grid a{display:block;margin:7px 0;font-weight:800}
.consult-section{padding:56px 0;background:#fff}
.consult-head{margin-bottom:24px;text-align:center}
.consult-head h2{margin:0 0 7px;color:var(--navy);font-size:clamp(1.7rem,4vw,2.4rem)}
.consult-panel{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:22px}
.trial-box,.consult-panel form{padding:26px;background:#f7fafb;border:1px solid var(--line);border-radius:16px}
.trial-box{text-align:center}
.trial-box i{color:var(--red);font-size:2rem}
.trial-box h3,.consult-panel form h3{margin:7px 0;color:var(--navy)}
.form-button{display:flex;margin:10px 0;padding:9px 15px;align-items:center;justify-content:center;gap:7px;color:#fff;background:var(--red);border-radius:999px;font-weight:800;text-decoration:none}
.form-button:hover{color:#fff;background:var(--red-dark)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.form-grid input,.form-grid textarea{width:100%;padding:11px 12px;color:var(--ink);background:#fff;border:1px solid #cbd9e0;border-radius:8px;font:inherit}
.form-grid textarea{grid-column:1/-1;resize:vertical}
.consult-panel input[type="submit"]{width:100%;margin-top:13px;padding:11px;color:#fff;background:var(--red);border:0;border-radius:999px;cursor:pointer;font:inherit;font-weight:900}
.hidden-frame{display:none}
.line-note{text-align:center}

/* 頁尾 */
footer{padding:34px 16px;color:rgba(255,255,255,.82);background:#062f49;text-align:center}
footer p{margin:4px 0}
footer a{color:#fff}
.footer-social{display:flex;margin:15px 0;justify-content:center;gap:9px}
.footer-social a{display:grid;width:35px;height:35px;color:#fff;border:1px solid rgba(255,255,255,.45);border-radius:50%;text-decoration:none;place-items:center}
.copyright{font-size:.82rem;opacity:.75}

/* 兩個榜單主題 */
.theme-public{--result-accent:#c83f3a;--result-accent-dark:#9e2e2a;--resource-bg:#fff0ee;--results-intro-bg:linear-gradient(120deg,rgba(117,6,12,.97),rgba(184,27,31,.97));background:#b20d12 url("../images/public-results-bg-v2.jpg") center top/100% auto repeat-y fixed}
.theme-real-estate{--result-accent:#c39228;--result-accent-dark:#78560e;--resource-bg:#fff4d9;--results-intro-bg:linear-gradient(120deg,rgba(101,55,2,.97),rgba(165,98,4,.97));background:#9a5a00 url("../images/real-estate-results-bg-v2.jpg") center top/100% auto repeat-y fixed}

@media(max-width:980px){
  .nav-toggle{display:block}
  .nav-links{display:none;position:absolute;top:58px;right:0;left:0;padding:15px 18px;flex-direction:column;align-items:stretch;gap:8px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(7,59,92,.12)}
  .nav-links.active{display:flex}
  .nav-links>a,.nav-more summary{padding:8px 4px}
  .nav-more-menu{position:static;width:100%;padding:4px 0 4px 14px;border:0;border-left:3px solid var(--line);border-radius:0;box-shadow:none;transform:none}
  .nav-social{justify-content:center}
  .nav-cta{text-align:center}
  .consult-panel{grid-template-columns:1fr}
}
@media(max-width:760px){
  .nav-wrap{min-height:58px}
  .hero-inner{padding:48px 0 44px}
  .section{padding:42px 0}
  .year-nav-wrap{padding-top:8px}
  .results-list{padding-top:16px}
  .year-nav-wrap>.page{padding:16px 15px;border-radius:13px}
  .year-help span{display:block}
  .year-panel>summary{padding:13px;grid-template-columns:auto minmax(0,1fr) auto}
  .year-panel>summary small{display:none}
  .year-panel>summary::after{display:grid;width:28px;height:28px;color:#fff;background:var(--result-accent);border-radius:50%;font-size:1.05rem;font-weight:900;line-height:1;content:"＋";place-items:center}
  .year-panel[open]>summary::after{content:"－"}
  .year-content{padding:14px 10px}
  .people-list{gap:5px}
  .feature-heading{margin-top:22px!important;padding:4px 14px;font-size:1.05rem}
  .feature-heading+div{padding:29px 10px 12px}
  .roster-heading{margin-top:20px!important;padding:0 12px;font-size:1.05rem;letter-spacing:.05em}
  .roster-heading+div{padding:29px 9px 12px}
  .roster-heading+div .people-list{gap:4px 10px}
  .roster-heading+div .people-list li{font-size:1rem}
  .theme-public,.theme-real-estate{background-attachment:scroll}
}
@media(max-width:600px){
  .original-banner{overflow:hidden}
  .original-banner img{width:133.333%;max-width:none;margin-left:-16.666%}
  .year-select-wrap{grid-template-columns:1fr;gap:6px}
  .year-select-wrap label{text-align:left}
  .form-grid{grid-template-columns:1fr}
  .form-grid textarea{grid-column:auto}
  .results-next{padding:18px 14px}
  .results-next>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
  .results-next a{align-items:center;justify-content:center}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
