/* 北區室內設計進修管理協會｜治理網站共用樣式 */
:root {
  color-scheme: light;
  --ink: #23211E;
  --ink-soft: #55504A;
  --ink-faint: #837C74;
  --bg: #F1F1EF;
  --card: #FFFFFF;
  --quote: #F5F5F2;
  --line: #DEDCD6;
  --line-strong: #C7C3BA;
  --brass: #8A6420;
  --brass-soft: #F6EEDD;
  --olive: #46613F;
  --olive-soft: #E9F0E6;
  --slate: #3F5A6B;
  --slate-soft: #E6EDF1;
  --focus: #8A6420;
  --sans: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;
  --serif: "Noto Serif TC", "Songti TC", "PMingLiU", serif;
  --r: 10px;
}
@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    --ink: #EDEAE4; --ink-soft: #B6AFA6; --ink-faint: #8C857C;
    --bg: #1A1917; --card: #242321; --quote: #2D2B28;
    --line: #383631; --line-strong: #4A4740;
    --brass: #D6A75B; --brass-soft: #38301F;
    --olive: #9CBE92; --olive-soft: #24301F;
    --slate: #9FC0D2; --slate-soft: #1F2C33;
    --focus: #D6A75B;
  }
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  background: var(--bg); color: var(--ink);
  font-family: var(--sans); font-size: 16px; line-height: 1.75;
  -webkit-text-size-adjust: 100%;
}
.wrap { max-width: 1040px; margin: 0 auto; padding-inline: 16px; }
a { color: var(--brass); }
.site-head { border-bottom: 1px solid var(--line); background: var(--card); }
.site-head .wrap { display: flex; align-items: center; gap: 12px; padding-block: 12px; flex-wrap: wrap; }
.logo { font-weight: 700; font-size: 15px; text-decoration: none; color: var(--ink); white-space: nowrap;
  display: flex; align-items: center; gap: 9px; }
.logo::before {
  content: ""; flex: 0 0 auto; width: 26px; height: 30px;
  background: url(data:image/png;base64,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) center/contain no-repeat;
}
.logo span { color: var(--ink-faint); font-weight: 400; }

/* 首頁品牌區 */
.hero-brand { padding-block: 40px 14px; }
.brandmark { width: min(330px, 74vw); aspect-ratio: 620 / 218; margin-bottom: 22px; }
.orgname { font-family: var(--serif); font-weight: 600; font-size: clamp(25px, 4.6vw, 36px);
  line-height: 1.28; margin: 0 0 8px; text-wrap: balance; letter-spacing: .01em; }
.orgmeta { margin: 0 0 22px; font-size: 13.5px; color: var(--ink-faint); line-height: 1.7; }
.orgmeta b { color: var(--brass); font-weight: 500; }
.pagetitle { display: flex; align-items: center; gap: 12px; margin: 0 0 10px; }
.pagetitle h1 { font-size: clamp(21px, 3.4vw, 27px); margin: 0; font-family: var(--sans); font-weight: 700; }
.pagetitle .tagline { font-size: 13px; color: var(--ink-faint); }
.site-head nav { margin-left: auto; display: flex; gap: 4px; flex-wrap: wrap; }
.site-head nav a {
  font-size: 13.5px; text-decoration: none; color: var(--ink-soft);
  padding: 5px 10px; border-radius: 99px;
}
.site-head nav a:hover { background: var(--quote); }
.site-head nav a[aria-current="page"] { background: var(--ink); color: var(--bg); }
.hero { padding-block: 34px 10px; }
.kicker { font-size: 13px; letter-spacing: .08em; color: var(--brass); font-weight: 500; }
h1 { font-family: var(--serif); font-weight: 600; font-size: clamp(27px, 5vw, 40px); line-height: 1.3; margin: 8px 0 12px; text-wrap: balance; }
h2 { font-size: 19px; margin: 32px 0 10px; }
.lede { color: var(--ink-soft); max-width: 64ch; margin: 0; }
.grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); margin-block: 22px; }
.card {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--r);
  padding: 18px; text-decoration: none; color: inherit; display: block;
}
.card:hover { border-color: var(--line-strong); }
.card h3 { margin: 0 0 4px; font-size: 17px; }
.card p { margin: 0; font-size: 14px; color: var(--ink-soft); line-height: 1.65; }
.card .state { font-size: 11.5px; padding: 2px 8px; border-radius: 99px; display: inline-block; margin-bottom: 8px; font-weight: 500; }
.state.live { background: var(--olive-soft); color: var(--olive); }
.state.soon { background: var(--quote); color: var(--ink-faint); }
.panel { background: var(--card); border: 1px solid var(--line); border-radius: var(--r); padding: 18px; margin-block: 18px; }
.panel h2 { margin-top: 0; font-size: 17px; }
ul.plain { margin: 8px 0; padding-left: 20px; }
ul.plain li { margin-bottom: 6px; color: var(--ink-soft); }
.btn {
  display: inline-block; font-weight: 500; text-decoration: none; cursor: pointer;
  border-radius: 8px; border: 1px solid var(--ink); background: var(--ink); color: var(--bg);
  padding: 10px 18px; font-size: 15px;
}
.btn:hover { opacity: .9; }
.btn-ghost { background: var(--card); color: var(--ink); border-color: var(--line-strong); }
.foot { color: var(--ink-faint); font-size: 12.5px; border-top: 1px solid var(--line); margin-top: 40px; padding-block: 18px 34px; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
