    :root {
      --ink: #0b0b0c;
      --blue: #2945a4;
      --blue-dark: #233b8c;
      --paper: #ffffff;
      --line: #d9dde1;
      --muted: #62676d;
      --soft: #f4f7f9;
      --page-gutter: clamp(20px, 3vw, 64px);
      --gutter-left: max(var(--page-gutter), env(safe-area-inset-left, 0px));
      --gutter-right: max(var(--page-gutter), env(safe-area-inset-right, 0px));
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
    body {
      margin: 0;
      color: var(--ink);
      background: var(--paper);
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
        "Segoe UI", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      font-size: 16px;
      line-height: 1.6;
      text-rendering: optimizeLegibility;
    }

    a { color: inherit; }
    button { font: inherit; }
    a:focus-visible, button:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
    .shell {
      width: calc(100% - var(--gutter-left) - var(--gutter-right));
      margin-left: var(--gutter-left);
      margin-right: var(--gutter-right);
    }
    .shell > * { min-width: 0; }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 20;
      background: rgba(255,255,255,.94);
      border-bottom: 1px solid var(--line);
      backdrop-filter: blur(12px);
    }

    .header-inner {
      min-height: 72px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    .brand { display: flex; align-items: center; gap: 14px; text-decoration: none; }
    .brand-name { font-weight: 760; letter-spacing: .08em; }
    .brand-note { color: var(--muted); font-size: .88rem; }

    .mark { display: block; width: 34px; height: 34px; flex: 0 0 34px; object-fit: contain; }

    .header-actions { display: flex; align-items: center; gap: 12px; }
    .lang-switch { display: inline-flex; border: 1px solid var(--line); }
    .lang-switch button {
      border: 0;
      background: #fff;
      padding: 7px 10px;
      color: var(--muted);
      cursor: pointer;
    }
    .lang-switch button[aria-pressed="true"] { background: var(--ink); color: #fff; }

    .header-mail {
      display: inline-flex;
      align-items: center;
      min-height: 44px;
      font-size: .92rem;
      font-weight: 700;
      text-decoration: none;
      border-bottom: 2px solid var(--blue);
    }

    .hero {
      min-height: calc(100vh - 88px);
      min-height: calc(100svh - 88px);
      display: grid;
      grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
      gap: clamp(48px, 8vw, 110px);
      align-items: center;
      padding-block: clamp(68px, 10vh, 120px);
    }

    .eyebrow {
      margin: 0 0 28px;
      font-size: .84rem;
      font-weight: 800;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    h1 {
      max-width: 880px;
      margin: 0;
      font-size: clamp(3.15rem, 7.6vw, 7rem);
      line-height: 1.08;
      letter-spacing: -.045em;
      font-weight: 800;
    }
    h1 .blue { color: var(--blue); }

    .hero-copy {
      max-width: 720px;
      margin: 34px 0 0;
      font-size: clamp(1.12rem, 2vw, 1.42rem);
      line-height: 1.58;
    }

    .hero-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 48px;
      padding: 12px 18px;
      border: 1px solid var(--ink);
      background: var(--ink);
      color: #fff;
      font-weight: 760;
      text-decoration: none;
      transition: transform .18s ease, background .18s ease;
    }
    .button:hover { transform: translateY(-2px); background: var(--blue-dark); border-color: var(--blue-dark); }
    .button.secondary { background: transparent; color: var(--ink); }
    .button.secondary:hover { background: var(--soft); }

    .identity-card {
      border-left: 1px solid var(--line);
      padding-left: clamp(24px, 4vw, 52px);
      align-self: stretch;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    .identity-card .name {
      font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
      font-size: clamp(2.1rem, 4.1vw, 4rem);
      font-weight: 800;
      line-height: 1;
      letter-spacing: .03em;
    }
    .identity-card .cn { margin-top: 16px; font-size: 1.2rem; letter-spacing: .25em; }
    .identity-card .role { margin-top: 34px; font-weight: 700; }
    .identity-card .role span { display: block; color: var(--muted); font-weight: 500; }

    .capabilities { margin-top: 54px; }
    .capabilities a {
      display: block;
      padding-block: 11px;
      color: var(--blue-dark);
      border-top: 1px solid var(--line);
      font-size: .96rem;
      font-weight: 720;
      text-decoration: none;
    }
    .capabilities a::after { content: " ↗"; opacity: .55; }

    .proof-strip { background: var(--ink); color: #fff; }
    .proof-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0;
    }
    .proof {
      display: block;
      border-right: 1px solid #383838;
      color: #fff;
      text-decoration: none;
      transition: background .18s ease;
      overflow: hidden;
    }
    .proof:hover { background: var(--blue); }
    .proof:last-child { border-right: 0; }
    .proof-media { aspect-ratio: 3 / 2; overflow: hidden; background: #202124; }
    .proof-media img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: saturate(.78) contrast(1.06);
      transition: transform .45s ease, filter .25s ease;
    }
    .proof:hover .proof-media img { transform: scale(1.025); filter: saturate(1) contrast(1.02); }
    .proof-copy { min-height: 190px; padding: 28px 30px 34px; }
    .proof small { display: block; margin-bottom: 18px; color: #9ca2a7; letter-spacing: .09em; text-transform: uppercase; }
    .proof:hover small { color: #eaf6fd; }
    .proof strong { display: block; font-size: 1.18rem; line-height: 1.45; }

    section.content { padding-block: clamp(80px, 10vw, 140px); }
    .section-head {
      display: grid;
      grid-template-columns: 1fr 2fr;
      gap: 40px;
      margin-bottom: 54px;
    }
    .section-index { color: var(--blue-dark); font-family: ui-monospace, monospace; font-weight: 800; }
    h2 { margin: 0; font-size: clamp(2.1rem, 4.6vw, 4.2rem); line-height: 1.18; letter-spacing: -.035em; text-wrap: balance; }
    .section-intro { max-width: 700px; margin: 22px 0 0; color: var(--muted); font-size: 1.12rem; }

    .problem-grid, .service-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--ink); }
    .problem, .service { padding: 30px 28px 38px 0; border-bottom: 1px solid var(--line); }
    .problem:nth-child(odd), .service:nth-child(odd) { padding-right: 42px; border-right: 1px solid var(--line); }
    .problem:nth-child(even), .service:nth-child(even) { padding-left: 42px; }
    .num { color: var(--blue-dark); font-family: ui-monospace, monospace; font-size: .82rem; font-weight: 800; }
    h3 { margin: 14px 0 12px; font-size: 1.45rem; line-height: 1.25; }
    .problem p, .service p { margin: 0; color: var(--muted); }
    .brand-owner { display: block; margin-top: 18px; color: var(--blue-dark); font-family: ui-monospace, monospace; font-size: .82rem; font-weight: 800; letter-spacing: .05em; }

    .service ul { margin: 18px 0 0; padding: 0; list-style: none; }
    .service li { position: relative; padding: 7px 0 7px 20px; }
    .service li::before { content: "↳"; position: absolute; left: 0; color: var(--blue-dark); }
    .entry-link {
      display: inline-block;
      margin-top: 24px;
      color: var(--ink);
      font-weight: 800;
      text-decoration: none;
      border-bottom: 2px solid var(--blue);
    }
    .entry-link:hover { color: var(--blue-dark); }

    .sprints { background: var(--soft); }
    .sprint-grid { display: grid; grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--ink); }
    .sprint {
      display: block;
      min-height: 0;
      padding: 0;
      background: #fff;
      border: 0;
      border-bottom: 1px solid var(--line);
    }
    .sprint-tag { color: var(--blue-dark); font-family: ui-monospace, monospace; font-weight: 800; }
    .sprint h3 { margin-top: 30px; font-size: clamp(1.8rem, 3vw, 2.7rem); letter-spacing: -.035em; }
    .sprint .fit { color: var(--muted); }
    .sprint summary { position: relative; display: grid; gap: 8px; padding: 24px 64px 24px 28px; cursor: pointer; list-style: none; }
    .sprint summary::-webkit-details-marker { display: none; }
    .sprint summary:hover { background: var(--soft); }
    .sprint summary:focus-visible { outline: 2px solid var(--blue-dark); outline-offset: -3px; }
    .sprint-heading { font-size: clamp(1.25rem, 2.4vw, 1.75rem); font-weight: 750; line-height: 1.4; }
    .sprint-meta { color: var(--muted); font-size: .9375rem; line-height: 1.6; }
    .sprint-symbol { position: absolute; right: 28px; top: 50%; transform: translateY(-50%); font-size: 1.5rem; color: var(--blue-dark); }
    .sprint-symbol::before { content: '+'; }
    .sprint[open] .sprint-symbol::before { content: '−'; }
    .sprint-body { padding: 0 28px 28px; max-width: 58rem; }
    .sprint-body .fit { margin-top: 0; }
    .sprint-body .quote { padding-top: 24px; font-size: 1rem; }
    .sprint-body .quote small { font-size: .875rem; }
    .sprint-timing-note { font-size: .875rem; color: var(--muted); margin-top: 20px; max-width: 64rem; }
    @media (max-width: 600px) {
      .sprint summary { padding: 20px 44px 20px 16px; }
      .sprint-symbol { right: 16px; }
      .sprint-body { padding: 0 16px 24px; }
      .sprints .section-head { margin-bottom: 28px; }
    }
    .sprint dl { display: grid; grid-template-columns: 92px 1fr; gap: 12px 20px; margin: 30px 0 0; }
    .sprint dt { color: var(--muted); }
    .sprint dd { margin: 0; font-weight: 650; }
    .quote { margin-top: auto; padding-top: 34px; font-size: 1.18rem; font-weight: 800; }
    .quote small { display: block; margin-top: 6px; color: var(--muted); font-size: .82rem; font-weight: 500; }

    .team-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); }
    .team-card { min-height: 330px; padding: 30px 28px 34px 0; border-right: 1px solid var(--line); }
    .team-card + .team-card { padding-left: 28px; }
    .team-card:last-child { border-right: 0; }
    .team-card .initial { font-family: ui-monospace, monospace; color: var(--blue-dark); font-weight: 800; }
    .team-card h3 { margin-top: 42px; font-size: 1.7rem; }
    .team-card .team-role { margin-bottom: 20px; color: var(--blue-dark); font-weight: 760; }
    .team-card p { margin: 0; color: var(--muted); }

    .network-section { background: var(--ink); color: #fff; }
    .network-section .section-index { color: #72c4f4; }
    .network-section .section-intro { color: #b9c0c5; }
    .expertise-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #4b4b4b; }
    .expertise {
      min-height: 190px;
      padding: 24px 22px 28px 0;
      border-right: 1px solid #383838;
      border-bottom: 1px solid #383838;
      color: #fff;
      text-decoration: none;
      transition: background .18s ease, color .18s ease;
    }
    .expertise:nth-child(4n+1) { padding-left: 0; }
    .expertise:not(:nth-child(4n+1)) { padding-left: 22px; }
    .expertise:nth-child(4n) { border-right: 0; }
    .expertise:hover { background: var(--blue); color: #fff; }
    .expertise .num { color: #72c4f4; }
    .expertise strong { display: block; margin-top: 44px; font-size: 1.08rem; line-height: 1.35; }
    .expertise span:last-child { display: block; margin-top: 14px; color: #aeb5ba; font-size: .84rem; }
    .expertise:hover span:last-child { color: #fff; }

    .process { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ink); }
    .step { min-height: 230px; padding: 26px 24px 30px 0; border-right: 1px solid var(--line); }
    .step + .step { padding-left: 24px; }
    .step:last-child { border-right: 0; }
    .step strong { display: block; margin: 28px 0 12px; font-size: 1.2rem; }
    .step p { margin: 0; color: var(--muted); }

    .notice { margin-top: 38px; color: var(--muted); font-size: .88rem; }

    .contact { background: var(--blue); color: #fff; }
    .contact-inner { padding-block: clamp(74px, 11vw, 140px); }
    .contact h2 { max-width: 950px; }
    .contact p { max-width: 700px; margin: 28px 0 0; font-size: 1.16rem; }
    .contact-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 42px; }
    .contact .button { background: #fff; border-color: #fff; color: var(--ink); }
    .contact .button.secondary { background: transparent; color: #fff; }
    .contact .button.secondary:hover { background: rgba(255,255,255,.12); }

    footer { padding-block: 30px; border-top: 1px solid rgba(255,255,255,.4); background: var(--blue); color: #fff; }
    .footer-inner { display: flex; justify-content: space-between; align-items:center; flex-wrap:wrap; gap: 24px; font-size: .88rem; }
    .footer-admin { display:inline-flex; align-items:center; min-height:44px; flex-shrink:0; font-size:.875rem; text-underline-offset:4px; }

    [data-en] { display: none; }
    html[lang="zh-Hant"] [data-en], html[lang="en"] [data-zh] { display: none !important; }
    html[lang="en"] [data-zh] { display: none; }
    html[lang="en"] [data-en] { display: revert; }

    @media (max-width: 840px) {
      .header-mail, .brand-note { display: none; }
      .hero { min-height: auto; grid-template-columns: 1fr; }
      .identity-card { border-left: 0; border-top: 1px solid var(--line); padding: 38px 0 0; }
      .proof-grid { grid-template-columns: 1fr; }
      .proof { border-right: 0; border-bottom: 1px solid #383838; }
      .proof-media { aspect-ratio: 16 / 9; }
      .proof-copy { min-height: 0; }
      .section-head { grid-template-columns: 1fr; }
      .problem-grid, .service-grid, .sprint-grid { grid-template-columns: 1fr; }
      .problem:nth-child(odd), .service:nth-child(odd) { padding-right: 0; border-right: 0; }
      .problem:nth-child(even), .service:nth-child(even) { padding-left: 0; }
      .process { grid-template-columns: repeat(2, 1fr); }
      .step:nth-child(2) { border-right: 0; }
      .step:nth-child(3), .step:nth-child(4) { border-top: 1px solid var(--line); }
      .sprint { min-height: 0; }
      .team-grid { grid-template-columns: 1fr; }
      .team-card, .team-card + .team-card { min-height: 0; padding: 28px 0 34px; border-right: 0; border-bottom: 1px solid var(--line); }
      .expertise-grid { grid-template-columns: repeat(2, 1fr); }
      .expertise:nth-child(4n) { border-right: 1px solid #383838; }
      .expertise:nth-child(even) { border-right: 0; }
      .expertise:nth-child(odd), .expertise:nth-child(even) { padding-left: 18px; }
    }

    @media (max-width: 520px) {
      :root { --page-gutter: 20px; }
      .header-inner { min-height: 62px; }
      .brand-name { font-size: .88rem; }
      h1 { font-size: clamp(2.75rem, 15vw, 4.2rem); }
      .hero { padding-block: 54px 76px; }
      .process { grid-template-columns: 1fr; }
      .step, .step + .step { min-height: 0; padding: 24px 0 30px; border-right: 0; border-top: 1px solid var(--line); }
      .step:first-child { border-top: 0; }
      .footer-inner { flex-direction: column; align-items: flex-start; gap: 12px; }
      .expertise-grid { grid-template-columns: 1fr; }
      .expertise, .expertise:nth-child(odd), .expertise:nth-child(even), .expertise:nth-child(4n) { min-height: 150px; padding: 22px 0; border-right: 0; }
      .expertise strong { margin-top: 30px; }
    }

    /* Shared hierarchy and progressive disclosure, across both languages. */
    :root { --pill-bg: #f0f3fb; --pill-line: #ccd5ee; }
    section[id], article[id], .anchor-alias { scroll-margin-top: 100px; }
    h1, h2, h3 { overflow-wrap: break-word; }
    h1 [data-en], h1 [data-zh] { font: inherit; }
    .eyebrow, .num, .brand-owner, .quote small { font-size: .875rem; }
    .eyebrow { letter-spacing: .09em; }
    .hero { grid-template-columns: minmax(0, 1.5fr) minmax(280px, .72fr); gap: clamp(36px, 6vw, 80px); }
    .hero h1 { font-size: clamp(3rem, 6.2vw, 5.6rem); text-wrap: balance; }
    .hero .hero-copy { margin-top: 0; font-size: 1.0625rem; line-height: 1.65; }
    .hero-lead { max-width: 37rem; margin: 26px 0 0; font-size: clamp(1.125rem, 2vw, 1.375rem); font-weight: 650; }
    .identity-card .capabilities { margin-top: 32px; }
    .section-head { grid-template-columns: minmax(190px, 1fr) minmax(0, 2fr); gap: 32px; margin-bottom: 40px; }
    .section-intro { margin-top: 0; }
    .proof-copy { min-height: 170px; }
    .proof strong { font-size: 1.55rem; line-height: 1.25; letter-spacing: -.025em; }
    .proof small { font-size: .875rem; }
    .service { position: relative; display: flex; flex-direction: column; align-items: flex-start; padding-block: 30px 34px; }
    .service h3 { font-size: clamp(1.7rem, 2.5vw, 2.3rem); line-height: 1.15; letter-spacing: -.025em; max-width: 100%; margin: 14px 0 10px; text-wrap: balance; }
    .service-outcome { font-weight: 650; font-size: 1.0625rem; }
    .service .brand-owner { margin: 0 0 6px; letter-spacing: .025em; }
    .pills { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
    .pills .pill { position: static; padding: 6px 12px; border: 1px solid var(--pill-line); border-radius: 999px; background: var(--pill-bg); color: var(--blue-dark); font-size: .875rem; font-weight: 650; line-height: 1.5; }
    .pills .pill::before { content: none; }
    .service .entry-link { margin-top: auto; padding-top: 8px; min-height: 44px; }
    .disclosure { width: 100%; margin-top: 18px; }
    .disclosure-trigger { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 4px 0; border: 0; color: var(--blue-dark); background: transparent; font-size: .875rem; font-weight: 700; text-align: left; cursor: pointer; }
    .disclosure-trigger[hidden] { display: none; }
    .disclosure-trigger::after { content: '+'; font-size: 1.2rem; font-weight: 500; }
    .disclosure[data-open="true"] .disclosure-trigger::after { content: '−'; }
    .disclosure-body { padding-block: 4px 12px; opacity: 1; visibility: visible; transition: opacity .16s ease; }
    .disclosure-body p { margin: 0; font-size: 1rem; line-height: 1.6; }
    /* Reserve the natural text height so hover never moves another action. */
    .disclosure[data-open="false"] .disclosure-body { visibility: hidden; opacity: 0; pointer-events: none; }
    .disclosure-trigger:hover { color: var(--ink); }
    .team-card .team-role { margin-bottom: 0; }
    .network-section .disclosure-trigger { color: #8bd1ff; }
    .network-section .disclosure-body { color: #b9c0c5; }
    .contact { background: var(--blue); }
    footer { background: var(--blue); }
    .contact p { font-size: 1.0625rem; }
    .sprint-tag { font-size: .875rem; }
    .lang-switch button { min-height: 44px; min-width: 44px; }
    .brand-note { font-size: .875rem; }
    .subservice-browser { width: 100%; margin-block: 22px 16px; }
    .subservice-pills { display: flex; flex-wrap: wrap; gap: 8px; }
    .subservice-pill {
      display: inline-flex; align-items: center; justify-content: space-between; gap: 10px;
      max-width: 100%; min-height: 44px; padding: 8px 14px;
      border: 1px solid var(--pill-line); border-radius: 999px;
      background: var(--pill-bg); color: var(--blue-dark);
      font-size: .9375rem; font-weight: 650; line-height: 1.5; text-align: left;
      cursor: pointer; transition: background .15s ease, border-color .15s ease, color .15s ease;
    }
    .subservice-pill[hidden], .subservice-hint[hidden] { display: none; }
    .subservice-pill::after { content: '+'; font-size: 1rem; flex: 0 0 auto; }
    .subservice-pill:hover, .subservice-pill[aria-expanded="true"] {
      background: var(--blue-dark); border-color: var(--blue-dark); color: #fff;
    }
    .subservice-pill[aria-expanded="true"]::after { content: '−'; }
    .subservice-details { margin-top: 20px; border-top: 1px solid var(--line); }
    .subservice-detail { padding-top: 20px; min-width: 0; scroll-margin-top: 100px; }
    .subservice-detail + .subservice-detail { margin-top: 24px; }
    .subservice-detail h4 { margin: 0 0 12px; font-size: 1.125rem; line-height: 1.4; }
    .service .subservice-scope { color: var(--muted); font-size: 1rem; line-height: 1.65; }
    .subservice-delivery { margin-top: 18px; }
    .subservice-delivery strong { display: block; margin-bottom: 5px; font-size: .875rem; }
    .service .subservice-delivery p { color: var(--ink); font-size: 1rem; line-height: 1.65; }
    .subservice-inquiry {
      display: inline-flex; align-items: center; gap: 6px; min-height: 44px;
      margin-top: 18px; padding-bottom: 4px; border-bottom: 2px solid var(--blue);
      color: var(--blue-dark); font-size: .9375rem; font-weight: 750; text-decoration: none;
    }
    .subservice-inquiry:hover { color: var(--ink); }
    .service .subservice-hint { margin: 0; padding-top: 20px; color: var(--muted); font-size: .9375rem; }
    /* Overlay panels at their natural maximum height to keep hover targets steady. */
    .subservice-browser[data-enhanced="true"] .subservice-details { display: grid; }
    .subservice-browser[data-enhanced="true"] .subservice-details > * { grid-area: 1 / 1; }
    .subservice-browser[data-enhanced="true"] .subservice-detail { margin-top: 0; }
    .subservice-detail[data-open="false"] { visibility: hidden; pointer-events: none; }
    .service .subservice-boundary { margin: 0 0 18px; font-size: .875rem; line-height: 1.6; }
    @media print {
      .subservice-pills, .subservice-hint { display: none !important; }
      .subservice-browser[data-enhanced="true"] .subservice-details { display: block; }
      .subservice-detail[data-open="false"] { visibility: visible; }
      .subservice-browser[data-enhanced="true"] .subservice-detail + .subservice-detail { margin-top: 24px; }
    }
    @media (max-width: 840px) {
      .hero, .section-head { grid-template-columns: 1fr; }
      .hero { gap: 40px; }
      .hero h1 { font-size: clamp(2.7rem, 7.5vw, 4.8rem); }
      .section-head { gap: 18px; }
      .identity-card .capabilities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
      .identity-card .capabilities a { font-size: .9375rem; }
      .proof-copy { min-height: 0; }
    }
    @media (max-width: 520px) {
      .hero h1 { font-size: clamp(2.3rem, 10.5vw, 3.4rem); }
      .hero .eyebrow { font-size: .8125rem; letter-spacing: .015em; }
      .service h3 { font-size: 1.8rem; }
      .identity-card .capabilities { grid-template-columns: 1fr; }
      .service .brand-owner { font-size: .8125rem; }
      .sprint dl { grid-template-columns: 70px minmax(0, 1fr); gap: 12px; }
    }
    @media print {
      .disclosure[data-open="false"] .disclosure-body { visibility: visible; opacity: 1; }
      .disclosure-trigger { display: none; }
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      .button, .proof, .proof-media img, .expertise, .disclosure-body, .subservice-pill { transition: none; }
    }
/* Square, type-only consultancy wordmark. */
.brand-wordmark{display:block;width:176px;height:58px;object-fit:contain;flex:none}
.site-header .header-inner{min-height:88px;padding-top:6px;padding-bottom:6px}
.brand .brand-note{font-size:10px;font-weight:600;letter-spacing:.12em;color:#62676d}
@media(max-width:600px){.brand-wordmark{width:148px;height:49px}.brand .brand-note{display:none}.site-header .header-inner{min-height:72px}}

/* Fluid pages keep reading measures on copy, rather than capping the page. */
.problem p, .team-card p, .step p { max-width: 65ch; }
.footer-inner a { display: inline-flex; align-items: center; min-height: 44px; }
.breadcrumb a, .back-link { display: inline-flex; align-items: center; min-height: 44px; }
.breadcrumb { align-items: center; }
footer { padding-bottom: max(30px, env(safe-area-inset-bottom, 0px)); }
main[id], .service-layout[id] { scroll-margin-top: 104px; }

@media (max-width: 900px) {
  section.content { padding-block: 64px; }
  /* On narrow screens, a closed disclosure must not leave an empty text block. */
  .disclosure[data-open="false"] .disclosure-body { display: none; }
  .disclosure-trigger { min-height: 48px; }
}

@media (max-width: 840px) {
  .hero { padding-block: 44px 56px; gap: 36px; }
  .identity-card { padding-top: 28px; }
  .identity-card .role { margin-top: 24px; }
  .capabilities a { min-height: 48px; }
  .proof-copy { padding: 24px; }
  .problem { padding-block: 26px 30px; }
  .problem:nth-child(n) { padding-inline: 0; }
  .step:nth-child(3) { padding-left: 0; }
  .team-card h3 { margin-top: 24px; }
}

@media (max-width: 520px) {
  .header-inner { gap: 12px; }
  .brand { min-width: 0; }
  .brand-wordmark { max-width: 100%; }
  .header-actions { flex-shrink: 0; }
  .hero h1 { font-size: clamp(2.15rem, 10vw, 3.25rem); }
  .hero .eyebrow { margin-bottom: 20px; }
  .hero-lead { margin-top: 22px; }
  .hero-cta { margin-top: 28px; }
  .hero-cta, .contact-actions { flex-direction: column; align-items: stretch; }
  .hero-cta .button, .contact-actions .button { width: 100%; min-height: 52px; }
  section.content { padding-block: 52px; }
  .section-head { margin-bottom: 28px; gap: 16px; }
  h2 { font-size: clamp(1.875rem, 7.8vw, 2.5rem); }
  h3 { font-size: 1.25rem; line-height: 1.4; }
  .section-intro { font-size: 1rem; }
  .contact-inner { padding-block: 56px; }
  section[id], article[id], .anchor-alias, main[id], .service-layout[id] { scroll-margin-top: 88px; }
}

@media (pointer: coarse) {
  .button:hover, .proof:hover .proof-media img { transform: none; }
}

@media print {
  .disclosure[data-open="false"] .disclosure-body { display: block; }
}
