/* New 3 Limited. Plain CSS, no build step. */
:root {
  --ink: #141414;
  --ink-2: #3d3d3d;
  --muted: #767676;
  --line: #e7e5e2;
  --paper: #ffffff;
  --paper-2: #f7f6f4;
  --accent: #ff6a2b;      /* higher saturation orange, same family */
  --accent-ink: #be4d10;  /* text-size accent, slightly more sat, AA on white */
  --max: 1200px;
  --gutter: clamp(20px, 5vw, 64px);
  --section: clamp(64px, 8vw, 112px); /* c49 tighter module rhythm */
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial,
          "PingFang TC", "PingFang HK", "PingFang SC", "Noto Sans TC", "Noto Sans CJK TC",
          "Noto Sans HK", "Noto Sans SC", "Noto Sans CJK SC", "Microsoft JhengHei", "Microsoft YaHei",
          "Source Han Sans TC", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0;
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.75;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "palt" 0;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
p { margin: 0 0 1em; }
h1, h2, h3, h4 { margin: 0; font-weight: 600; line-height: 1.25; letter-spacing: -0.01em; }
ul, ol { margin: 0; padding: 0; list-style: none; }
[lang="en"] p, p[lang="en"], [lang="en"] li { text-wrap: pretty; }
h1, h2, h3, h4 { text-wrap: balance; }
.nw { white-space: nowrap; }
a.inline { text-decoration: underline; text-decoration-color: var(--line); text-decoration-thickness: 1px; text-underline-offset: 4px; color: var(--ink); transition: text-decoration-color .15s; }
a.inline:hover { text-decoration-color: currentColor; }
::selection { background: #fbe3d4; }

/* Language switching: Traditional Chinese is the default; English via toggle. */
:root[data-lang="en"] body [lang="zh-Hant-HK"] { display: none !important; }
:root:not([data-lang="en"]) body [lang="en"] { display: none !important; }

.wrap { max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); }
.skip { position: absolute; left: -9999px; top: 0; }
.skip:focus { left: 16px; top: 12px; z-index: 100; background: var(--ink); color: #fff; padding: 8px 14px; border-radius: 4px; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 2px; }

/* Header */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.86);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid transparent;
  transition: border-color .2s ease;
}
.site-header.is-scrolled { border-bottom-color: var(--line); }
.header-inner { display: flex; align-items: center; justify-content: space-between; height: 80px; gap: 24px; }
.brand { display: inline-flex; align-items: center; }
.brand img { width: 124px; height: auto; }
.nav { display: flex; align-items: center; gap: clamp(20px, 3vw, 40px); }
.nav ul { display: flex; gap: clamp(20px, 2.8vw, 36px); }
.nav a { font-size: 14px; color: var(--ink-2); letter-spacing: .02em; transition: color .15s; }
.nav a:hover { color: var(--ink); }
.lang-toggle {
  appearance: none; border: 1px solid var(--line); background: transparent; color: var(--ink);
  font: inherit; font-size: 12px; letter-spacing: .06em; line-height: 1;
  padding: 8px 12px; border-radius: 999px; cursor: pointer; transition: border-color .15s, background .15s;
  min-width: 52px;
}
.lang-toggle:hover { border-color: var(--ink); }

/* Hero */
.hero { position: relative; overflow: hidden; }
.hero::before {
  content: ""; position: absolute; inset: 0;
  background: url("img/clouds.jpg") center 30% / cover no-repeat;
  filter: grayscale(1);
  opacity: 1;
  pointer-events: none;
}
.hero .wrap { position: relative; padding-top: clamp(80px, 11vw, 160px); padding-bottom: clamp(72px, 9vw, 128px); }
.eyebrow { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin: 0 0 28px; }
.eyebrow [lang="zh-Hant-HK"] { letter-spacing: .2em; }
.hero h1 { font-size: clamp(46px, 7.4vw, 104px); line-height: 1.08; font-weight: 600; letter-spacing: -0.025em; }
.hero h1 [lang="zh-Hant-HK"] { letter-spacing: .02em; }
.hero h1 .accent { color: var(--accent); font-weight: 500; letter-spacing: -0.01em; }
/* c32 — keep 「經驗給你判斷」 / EN second line as one unit (no mid-phrase wrap) */
.hero h1 .nw { white-space: nowrap; }
.hero-slogan { max-width: 36em; margin: clamp(18px, 2.5vw, 28px) 0 0; font-size: clamp(20px, 2.4vw, 32px); font-weight: 500; line-height: 1.35; letter-spacing: -0.015em; }
.hero-slogan .accent { color: var(--accent); font-weight: 500; }
.hero-slogan .hero-period { display: inline-block; }
.hero .lede { max-width: 38em; margin-top: clamp(32px, 4vw, 48px); font-size: clamp(17px, 1.5vw, 20px); color: var(--ink-2); line-height: 1.8; }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 44px; }

.btn {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--ink); color: #fff; font-size: 15px; letter-spacing: .02em;
  padding: 14px 24px; border-radius: 999px; transition: background .15s, transform .15s;
}
.btn:hover { background: #000; }
.btn .arrow, .link .arrow { transition: transform .2s ease; }
.btn:hover .arrow, .link:hover .arrow { transform: translateX(3px); }
.link { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; color: var(--ink); border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.link:hover { color: var(--accent-ink); }

/* Sections */
.section { padding: var(--section) 0; border-top: 1px solid var(--line); scroll-margin-top: 72px; }
.section.tint { background: var(--paper-2); border-top-color: transparent; }
.grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(16px, 2.4vw, 32px); }
.label { grid-column: 1 / span 3; font-size: 13px; letter-spacing: .12em; color: var(--muted); padding-top: .55em; }
.label .num { color: var(--accent); margin-right: 10px; font-variant-numeric: tabular-nums; }
.body { grid-column: 4 / span 9; }
.h2 { font-size: clamp(30px, 3.6vw, 48px); line-height: 1.22; letter-spacing: -0.02em; }
.h2 [lang="zh-Hant-HK"] { letter-spacing: .02em; }
.statement { font-size: clamp(20px, 2.1vw, 27px); line-height: 1.7; color: var(--ink); font-weight: 400; max-width: 34em; margin: 0; }
.statement[lang="en"] { line-height: 1.6; letter-spacing: -0.005em; }
.sub { margin-top: 24px; color: var(--ink-2); max-width: 40em; font-size: clamp(17px, 1.4vw, 19px); }

/* Services list */
.services { margin-top: clamp(36px, 4.5vw, 56px); border-top: 1px solid var(--line); }
.service { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 32px; padding: clamp(32px, 4vw, 48px) 0; border-bottom: 1px solid var(--line); }
.service h3 { font-size: clamp(20px, 1.8vw, 24px); }
.service h3 small { display: block; font-size: 13px; font-weight: 400; color: var(--muted); letter-spacing: .06em; margin-top: 6px; }
.service p { color: var(--ink-2); max-width: 40em; }
.service p:last-child { margin-bottom: 0; }
.service .note { font-size: 14px; color: var(--muted); }
.service .lead { color: var(--ink); }

.callout {
  margin-top: clamp(40px, 5vw, 64px);
  display: flex; align-items: center; justify-content: space-between; gap: 24px 40px; flex-wrap: wrap;
  padding: clamp(28px, 3.4vw, 40px); background: var(--paper-2); border-radius: 4px;
}
.callout h3 { font-size: 18px; margin-bottom: 6px; }
.callout p { margin: 0; color: var(--ink-2); max-width: 36em; }

/* Product */
.product { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 32px; margin-top: clamp(40px, 5vw, 64px); }
.product .kicker { font-size: 13px; letter-spacing: .12em; color: var(--muted); }
.product h3 { font-size: clamp(26px, 2.6vw, 34px); margin-top: 10px; }
.product p { color: var(--ink-2); max-width: 40em; }

/* Advisory */
.quote { font-size: clamp(34px, 4.8vw, 64px); line-height: 1.2; letter-spacing: -0.02em; font-weight: 600; max-width: 14em; }
.quote [lang="zh-Hant-HK"] { letter-spacing: .02em; line-height: 1.3; }
.facts { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: clamp(48px, 6vw, 80px); }
.facts h3, .areas-title { font-size: 13px; letter-spacing: .12em; color: var(--muted); font-weight: 400; margin-bottom: 14px; }
.facts p { margin: 0; color: var(--ink); }
.facts ul li { padding: 2px 0; }
.areas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 32px); }
.area { border-top: 1px solid var(--ink); padding-top: 22px; }
.area .n { font-size: 13px; color: var(--accent); font-variant-numeric: tabular-nums; letter-spacing: .08em; }
.area h4 { font-size: 18px; margin: 10px 0 12px; line-height: 1.45; }
.area p { color: var(--ink-2); font-size: 15.5px; line-height: 1.75; margin: 0; }
.areas-wrap { margin-top: clamp(36px, 4.5vw, 56px); }
.book { margin-top: clamp(36px, 4.5vw, 56px); padding-top: clamp(24px, 3vw, 36px); border-top: 1px solid var(--line); display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px; align-items: end; }
.book p { margin: 0; color: var(--ink-2); }
.book .about-line { font-size: 15px; color: var(--muted); margin-top: 18px; }
.book .about-line a { color: var(--ink); border-bottom: 1px solid var(--line); }
.book .about-line a:hover { border-color: var(--ink); }
.book .actions { margin-top: 0; justify-content: flex-end; }

/* Online Consulting module */
.book.consult {
  display: block;
  grid-template-columns: none;
}
.consult-head { margin-bottom: clamp(28px, 3.5vw, 40px); }
.consult-head .areas-title { margin-bottom: 16px; }
.consult-tag {
  font-size: clamp(18px, 1.6vw, 22px);
  line-height: 1.55;
  color: var(--ink);
  margin: 0 0 10px;
  max-width: 36em;
}
.consult-payer {
  font-size: 15px;
  color: var(--muted);
  margin: 14px 0 0;
  max-width: 40em;
}
.consult-cards {
  /* c50 — two offers: equal-width duo, not a 3-col grid with an empty third hole */
  margin: 0 0 clamp(28px, 3.5vw, 40px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.consult-cards .area p { margin: 0 0 10px; }
.consult-cards .price {
  color: var(--ink);
  font-size: 15.5px;
  font-weight: 500;
  margin: 0 0 8px;
}
.consult-cards .btn,
.consult-cards .btn-soon { margin-top: 28px; }

/* c48 — no hover wash on online-consulting cards */
.consult-note {
  font-size: 15px;
  color: var(--ink-2);
  margin: 0 0 8px;
  max-width: 42em;
}
.btn-soon {
  background: var(--paper-2);
  color: var(--muted);
  border: 1px solid var(--line);
  opacity: .72;
  cursor: default;
  pointer-events: none;
  user-select: none;
}
.btn-soon:hover { background: var(--paper-2); color: var(--muted); }

/* About New 3 + Founder (merged section) */
.about .statement { margin-bottom: 0; }
.about .founder { margin-top: clamp(40px, 5vw, 64px); padding-top: clamp(28px, 3.5vw, 48px); border-top: 1px solid var(--line); scroll-margin-top: 72px; }

/* Founder */
.founder { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.portrait { position: sticky; top: 104px; width: 75%; max-width: 100%; justify-self: start; }
.portrait img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; border-radius: 2px; background: #c9ccd1; }
.founder h2 { font-size: clamp(34px, 4vw, 52px); letter-spacing: -0.02em; }
.founder h2 .alt { color: var(--muted); font-weight: 400; margin-left: .3em; }
.founder .role { margin-top: 10px; color: var(--ink-2); }
.founder .title { display: inline-block; margin-top: 18px; font-size: 14px; letter-spacing: .04em; padding: 6px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); }
.bio { margin-top: clamp(28px, 3vw, 40px); color: var(--ink-2); max-width: 38em; }
.bio .lead { color: var(--ink); font-size: clamp(17px, 1.4vw, 19px); }
.roles { margin: 8px 0 1.4em; border-top: 1px solid var(--line); }
.roles li { padding: 14px 0 14px 22px; border-bottom: 1px solid var(--line); position: relative; }
.roles li::before { content: ""; position: absolute; left: 3px; top: calc(14px + .8em); width: 5px; height: 5px; border-radius: 50%; background: var(--accent); }

/* Contact */
.contact-list { margin-top: clamp(28px, 3.5vw, 48px); border-top: 1px solid var(--line); }
.contact-list li { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: 24px; padding: 22px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.contact-list .k { font-size: 13px; letter-spacing: .1em; color: var(--muted); }
.contact-list .v { font-size: clamp(17px, 1.5vw, 20px); }
.contact-list a.v, .contact-list .v a { border-bottom: 1px solid transparent; transition: border-color .15s, color .15s; }
.contact-list a.v:hover, .contact-list .v a:hover { border-bottom-color: currentColor; color: var(--accent-ink); }
.contact-list .addr > span { display: block; }
.contact-list .addr .map { display: inline-block; margin-top: 10px; font-size: 14px; color: var(--muted); }

/* Footer */
.site-footer { border-top: 1px solid var(--line); padding: clamp(40px, 5vw, 72px) 0 40px; font-size: 13.5px; color: var(--muted); }
.footer-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; }
.footer-top img { width: 132px; }
.footer-nav { display: flex; gap: 28px; flex-wrap: wrap; }
.footer-nav a:hover { color: var(--ink); }
.disclaimer { margin: 40px 0 0; padding-top: 24px; border-top: 1px solid var(--line); line-height: 1.7; }
.disclaimer span { display: block; max-width: 60em; }
.legal { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 4px 24px; }

/* Responsive */
@media (max-width: 960px) {
  .label { grid-column: 1 / -1; margin-bottom: 20px; padding-top: 0; }
  .body { grid-column: 1 / -1; }
  .areas { grid-template-columns: 1fr; gap: 0; }
  .area { padding: 22px 0 28px; }
  .book { grid-template-columns: 1fr; }
  .book .actions { justify-content: flex-start; }
  .book.consult { display: block; }
  .consult-cards { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 760px) {
  body { font-size: 16px; }
  .header-inner { height: auto; padding-top: 14px; padding-bottom: 12px; flex-wrap: wrap; row-gap: 10px; }
  .brand img { width: 104px; }
  .nav { display: contents; }
  .nav ul { order: 3; width: 100%; justify-content: space-between; gap: 12px; padding-top: 8px; border-top: 1px solid var(--line); }
  .nav a { font-size: 14px; }
  .lang-toggle { order: 2; }
  .section, .about .founder, #advisory, #consult, #technology, #zhiyu { scroll-margin-top: 108px; }
  .service, .product { grid-template-columns: 1fr; gap: 12px; }
  .facts { grid-template-columns: 1fr; gap: 32px; }
  .founder { grid-template-columns: 1fr; }
  .portrait { position: static; max-width: 225px; }
  .contact-list li { grid-template-columns: 1fr; gap: 4px; }
  .callout { flex-direction: column; align-items: flex-start; }
}
@media print {
  .site-header, .lang-toggle { display: none; }
  .section { padding: 32px 0; }
}

#advisory,
#consult,
#technology,
#zhiyu {
  scroll-margin-top: 72px;
}

/* Featured services (consulting, technology) */
.features { margin-top: clamp(36px, 4.5vw, 56px); border-top: 1px solid var(--ink); }
.feature { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 32px; padding: clamp(28px, 3.5vw, 48px) 0; border-bottom: 1px solid var(--line); }
.feature-head .n { display: block; font-size: 13px; letter-spacing: .08em; color: var(--accent); font-variant-numeric: tabular-nums; margin-bottom: 14px; }
.feature-head h3 { font-size: clamp(26px, 2.6vw, 34px); line-height: 1.25; letter-spacing: -0.015em; }
.feature-head h3 [lang="zh-Hant-HK"] { letter-spacing: .03em; }
.feature-body .lead { font-size: clamp(18px, 1.6vw, 21px); line-height: 1.65; color: var(--ink); margin-bottom: .9em; }
.feature-body p { color: var(--ink-2); max-width: 40em; }
.scope-title { font-size: 13px; letter-spacing: .12em; color: var(--muted) !important; margin: 28px 0 4px; }
.scope { display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px; margin-bottom: 24px; }
.scope li { position: relative; padding: 13px 0 13px 18px; border-bottom: 1px solid var(--line); color: var(--ink); font-size: 16px; line-height: 1.5; }
.scope li::before { content: ""; position: absolute; left: 1px; top: calc(13px + .62em); width: 5px; height: 5px; border-radius: 50%; background: var(--accent); }
.outcome { margin: 0; font-size: 15.5px; }

/* Investing, shown last and small */
.minor { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 32px; margin-top: clamp(40px, 5vw, 64px); padding-top: 24px; border-top: 1px solid var(--line); }
.minor h3 { font-size: 15px; font-weight: 600; color: var(--ink-2); letter-spacing: .04em; }
.minor p + p { margin-top: .9em; }
.minor p { margin: 0; font-size: 14.5px; line-height: 1.75; color: var(--muted); max-width: 44em; }

@media (max-width: 760px) {
  .feature, .minor { grid-template-columns: 1fr; gap: 12px; }
  .feature-head { margin-bottom: 8px; }
  .scope { grid-template-columns: 1fr; }
}
.scope li:last-child:nth-child(odd) { grid-column: 1 / -1; }

/* Merged consulting block (01): MUST beat .feature's 4fr/8fr (same-specificity order bug
   left body ~510px and .areas columns ~148px — that caused the awkward wraps). */
.feature.feature-stack {
  grid-template-columns: 1fr;
  gap: 0;
}
.feature.feature-stack .feature-head {
  margin-bottom: clamp(20px, 2.5vw, 32px);
}
.feature.feature-stack .feature-body .sub {
  margin-top: 0;
  max-width: none; /* parent column is the constraint; don't shrink again */
}
.feature.feature-stack .feature-body .facts {
  margin-top: clamp(28px, 3.5vw, 44px);
}
.feature.feature-stack .book.consult {
  margin-top: clamp(28px, 3.5vw, 44px);
}

/* Consulting detail copy: natural wrap (no balance/pretty/keep-all forcing short lines) */
#advisory .feature-body p,
#advisory .feature-body li,
#consult p,
#consult li,
#advisory .area h4,
#consult .area h4 {
  text-wrap: wrap;
  word-break: normal;
  overflow-wrap: break-word;
  line-break: auto;
}
#advisory .feature-body .sub,
#advisory .facts p,
#advisory .consult-tag,
#advisory .consult-payer,
#advisory .consult-note,
#advisory .outcome,
#advisory .area p,
#consult .area p {
  max-width: none;
}
/* Give 三类企业 / 在线咨询 cards a little more column room */
#advisory .areas,
#consult .areas {
  gap: clamp(24px, 3vw, 40px);
}

/* Trust band (after services, before about) */
#trust { scroll-margin-top: 72px; }
.trust-block { margin-top: clamp(36px, 4.5vw, 56px); }
.trust-block:first-of-type { margin-top: clamp(28px, 3.5vw, 44px); }
.logo-wall {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px 0;
  margin: 8px 0 16px; padding: 0;
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  padding: 18px 0;
}
.logo-wall li {
  font-size: clamp(15px, 1.35vw, 18px);
  font-weight: 500;
  color: var(--ink);
  letter-spacing: .02em;
  line-height: 1.4;
  white-space: nowrap;
}
.logo-wall li:not(:last-child)::after {
  content: "·";
  margin: 0 12px;
  color: var(--muted);
  font-weight: 400;
}
.logo-caption {
  margin: 0;
  font-size: 14.5px;
  color: var(--muted);
  max-width: 42em;
}
.trust-cases { margin-top: 8px; }
.trust-cases .area p { margin: 0 0 8px; }
.trust-cases .area p:last-child { margin-bottom: 0; }
.trust-notes-lead {
  margin: 0 0 16px;
  font-size: clamp(17px, 1.4vw, 19px);
  color: var(--ink);
  max-width: 40em;
}
.trust-note-links {
  border-top: 1px solid var(--line);
  margin: 0;
  padding: 0;
  max-width: 44em;
}
.trust-note-links li {
  border-bottom: 1px solid var(--line);
}
.trust-note-links a {
  display: block;
  padding: 14px 0;
  font-size: 16px;
  color: var(--ink);
  transition: color .15s;
}
.trust-note-links a:hover { color: var(--accent-ink); }
.trust-note-links a::after {
  content: " ↗";
  color: var(--muted);
  font-size: .9em;
}

@media (max-width: 760px) {
  #trust { scroll-margin-top: 108px; }
  .logo-wall { gap: 8px 0; padding: 14px 0; }
  .logo-wall li { font-size: 15px; white-space: normal; }
  .logo-wall li:not(:last-child)::after { margin: 0 10px; }
}

/* Mobile hamburger menu (c19) */
.menu-toggle { display: none; }
@media (max-width: 760px) {
  .header-inner { position: relative; flex-wrap: nowrap; padding-top: 12px; padding-bottom: 12px; }
  .brand { margin-right: auto; }
  .menu-toggle {
    display: inline-flex; align-items: center; justify-content: center; order: 2;
    appearance: none; width: 36px; height: 32px; padding: 0; cursor: pointer;
    border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--ink);
    transition: border-color .15s;
  }
  .menu-toggle:hover, .menu-toggle[aria-expanded="true"] { border-color: #e2692a; color: #e2692a; }
  .menu-icon, .menu-icon::before, .menu-icon::after {
    display: block; width: 16px; height: 1.5px; background: currentColor; border-radius: 1px;
    transition: transform .2s ease, background .2s ease;
  }
  .menu-icon { position: relative; }
  .menu-icon::before, .menu-icon::after { content: ""; position: absolute; left: 0; }
  .menu-icon::before { top: -5px; } .menu-icon::after { top: 5px; }
  .menu-toggle[aria-expanded="true"] .menu-icon { background: transparent; }
  .menu-toggle[aria-expanded="true"] .menu-icon::before { transform: translateY(5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-icon::after { transform: translateY(-5px) rotate(-45deg); }
  .lang-toggle { order: 3; }
  .nav ul {
    display: none; position: absolute; top: 100%; left: 0; right: 0; order: 4;
    flex-direction: column; gap: 0; padding: 4px 24px 12px; border-top: 1px solid var(--line);
    background: #fff; box-shadow: 0 12px 24px rgba(0,0,0,.06); width: auto;
  }
  .nav ul.is-open { display: flex; }
  .nav ul li { border-bottom: 1px solid var(--line); }
  .nav ul li:last-child { border-bottom: 0; }
  .nav ul a { display: block; padding: 14px 0; font-size: 15px; }
  .nav ul a:active, .nav ul a:hover { color: #e2692a; }
  .section, .about .founder, #advisory, #consult, #technology, #zhiyu { scroll-margin-top: 72px; }
}

/* Tighter gap between hero cloud and #services (c19, ~30% less) */
.hero + .section#services, #services { padding-top: calc(var(--section) * 0.7); }

/* Bare header buttons: no border/background (c19) */
.lang-toggle, .lang-toggle:hover { border: 0; background: transparent; border-radius: 0; padding: 12px 8px; min-width: 40px; min-height: 40px; }
.lang-toggle:hover { border-color: transparent; }
@media (hover: hover) { .lang-toggle:hover { color: #e2692a; } }
@media (max-width: 760px) {
  .header-inner { gap: 4px; }
  .menu-toggle, .menu-toggle:hover, .menu-toggle[aria-expanded="true"] {
    border: 0; background: transparent; border-radius: 0; width: 40px; height: 40px; color: var(--ink);
  }
  .menu-toggle[aria-expanded="true"] { color: #e2692a; }
  .nav ul a:hover { color: var(--ink-2); }
  .nav ul a:active { color: #e2692a; }
}
@media (max-width: 760px) and (hover: hover) {
  .menu-toggle:hover { color: #e2692a; }
  .nav ul a:hover { color: #e2692a; }
}

/* Single facts block spans full row (c21) */
.facts > div:only-child { grid-column: 1 / -1; }

/* Core team block styled like founder block */
.about .founder.team { margin-top: clamp(40px, 5vw, 64px); }
.founder.team .bio { margin-top: 0; }
.founder.team .bio .lead { padding: 18px 0; border-top: 1px solid var(--line); margin: 0; }
.founder.team .bio .lead:last-child { border-bottom: 1px solid var(--line); }
.founder.team .member { display: block; font-weight: 600; color: var(--ink); margin-bottom: 6px; }
@media (max-width: 760px) { .founder.team .bio { margin-top: 20px; } }


/* c28 — restrained judgment marks, hero period, soft 「不做」 */
.judge-mark {
  color: var(--accent);
  font-weight: 500;
}
/* Sole orange end-period on the site (hero title only) */
.hero .hero-period {
  color: var(--accent);
  animation: hero-period-in .4s ease-out both;
}
@keyframes hero-period-in {
  from {
    color: color-mix(in srgb, var(--accent) 28%, var(--ink-2));
    opacity: .55;
  }
  to {
    color: var(--accent);
    opacity: 1;
  }
}
.soft-no {
  color: var(--muted);
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  opacity: .4;
  transition: opacity .45s ease;
}
.soft-no.is-in {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .hero .hero-period { animation: none; }
  .soft-no {
    opacity: 1;
    transition: none;
  }
}


/* c28/c29 — soft translucent service bands (极浅灰 wash; not solid blocks) */
.soft-band {
  background: rgba(247, 246, 244, 0.58);
  background: color-mix(in srgb, var(--paper-2) 58%, transparent);
  padding: clamp(24px, 3vw, 40px) clamp(16px, 2vw, 28px);
  border-radius: 2px;
}
.book.consult.soft-band {
  box-sizing: border-box;
}
.soft-band--tech {
  margin-top: clamp(8px, 1.5vw, 16px);
  /* c46 — tech band white like surrounding content (no soft gray wash) */
  background: transparent;
}
.soft-band--tech .feature {
  padding-top: clamp(20px, 2.5vw, 32px);
  padding-bottom: clamp(20px, 2.5vw, 32px);
}
.soft-band--tech .product {
  margin-top: clamp(28px, 3.5vw, 44px);
  padding-bottom: clamp(8px, 1vw, 16px);
}

/* seo-w1 c34 */

/* c41/c47 — trust cases (2 cards; gutters restored; no horizontal scroll) */
#trust-cases .trust-cases {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 40px);
}
.trust-more {
  margin: 20px 0 0;
  font-size: 16px;
}
.trust-more a { color: var(--ink); border-bottom: 1px solid var(--line); }
.trust-more a:hover { border-color: var(--ink); color: var(--accent-ink); }

/* c45 — more space between homepage More link and 判斷札記 */
#trust-cases {
  margin-bottom: clamp(16px, 2vw, 28px);
}
#trust-notes {
  margin-top: clamp(72px, 9vw, 120px);
  padding-top: clamp(40px, 5vw, 64px);
  border-top: 1px solid var(--line);
}

/* c38/c47 — cases portfolio: 3-col desktop, 2-col ≤1100, 1-col ≤760; keep gutters */
#cases-portfolio .trust-cases {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 40px);
}
@media (max-width: 1100px) {
  #cases-portfolio .trust-cases {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  #cases-portfolio .trust-cases,
  #trust-cases .trust-cases {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.cases-hero {
  padding-top: clamp(48px, 8vw, 96px);
  padding-bottom: clamp(24px, 4vw, 40px);
}
.cases-hero .lede { max-width: 40em; }
.cases-meta {
  margin-top: 18px;
  font-size: 14.5px;
  color: var(--muted);
  max-width: 42em;
}
.cases-cta {
  margin-top: clamp(40px, 5vw, 64px);
  padding-top: clamp(28px, 3.5vw, 40px);
  border-top: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: 16px 28px;
  align-items: center;
}

/* c39 — case card media */
.case-media {
  margin: 14px 0 16px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--paper-2);
  aspect-ratio: 5 / 3;
  border: 1px solid var(--line);
}
.case-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
#cases-portfolio .area h4 { margin-top: 8px; }

/* c44/c47 — cases white; tighter top pad (no hero); notes tinted */
#cases-portfolio {
  background: var(--paper);
  padding-top: clamp(40px, 6vw, 72px);
  padding-bottom: clamp(40px, 5vw, 72px);
}
.cases-notes {
  background: var(--paper-2);
  border-top: 1px solid var(--line);
}
.cases-notes .cases-notes-title {
  font-size: clamp(34px, 4.2vw, 52px);
  margin: 0 0 clamp(20px, 3vw, 32px);
}
.cases-notes .trust-notes-lead {
  margin-top: 0;
}
.cases-notes .trust-note-links {
  margin-top: 8px;
}

/* c47 — desktop: case / consult grids use empty label column (body is 9/12) */
/* Cases page: less air between H1 and first card row (homepage trust keeps larger gap) */
#cases-portfolio .trust-block {
  margin-top: clamp(28px, 4vw, 48px);
}
@media (min-width: 961px) {
  #cases-portfolio .trust-block {
    margin-left: calc(-100% / 3 - clamp(16px, 2.4vw, 32px));
    width: calc(100% + 100% / 3 + clamp(16px, 2.4vw, 32px));
  }
  #advisory .book.consult.soft-band {
    margin-left: calc(-100% / 3 - clamp(16px, 2.4vw, 32px));
    width: calc(100% + 100% / 3 + clamp(16px, 2.4vw, 32px));
    box-sizing: border-box;
  }
}

/* c47 — consult cards: more column room + bottom-aligned CTAs */
.book.consult.soft-band {
  padding-left: clamp(14px, 1.8vw, 24px);
  padding-right: clamp(14px, 1.8vw, 24px);
}
#advisory .consult-cards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 40px);
}
.consult-cards .area {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border-radius: 0; /* c48 — square top black rule, no tiny radius */
}
.consult-cards .area > p:last-of-type {
  margin-bottom: 28px;
}
.consult-cards .btn,
.consult-cards .btn-soon {
  margin-top: auto;
}

/* c47 — case / trust card body spacing */
.trust-cases .area p {
  margin: 0 0 10px;
}
.trust-cases .area p:last-child {
  margin-bottom: 0;
}

/* c47 — stacked areas: even vertical rhythm (was 22 top / 28 bottom) */
@media (max-width: 960px) {
  .area {
    padding: 24px 0;
  }
}

/* c49 — module vertical rhythm tightened ~25–30% via --section + feature/trust/product/book/founder/soft-band */
/* c50 — online consulting: 2 equal cards (half-day + custom) */
