/* Presentation only. Brand tokens, typography, assets and document order stay in
   their existing layers. All motion is optional; content is visible by default. */
@layer finish {
  :root {
    --finish-radius: 14px;
    --finish-shadow: 0 2px 4px #10251e04, 0 12px 28px #10251e06, 0 32px 64px #10251e08;
    --finish-shadow-raised: 0 4px 8px #10251e06, 0 16px 32px #10251e0b, 0 36px 68px #10251e0c;
    --finish-ease: cubic-bezier(.22, 1, .36, 1);
  }

  /* One quiet, continuous navigation surface. */
  .header { transition: box-shadow 280ms ease, border-color 280ms ease; }
  .header.is-scrolled { border-bottom-color: var(--line); box-shadow: 0 6px 24px #10251e08; }
  .nav-dropdown-panel { padding: 12px; border-radius: 12px; box-shadow: var(--finish-shadow-raised); }
  .desktop-nav .nav-dropdown-panel a { border-radius: 7px; transition: background 180ms ease, color 180ms ease; }
  .chevron { transition: transform 240ms var(--finish-ease); }
  .mobile-nav { border-radius: 0 0 16px 16px; box-shadow: 0 24px 48px #10251e12; }
  .mobile-solutions > div { padding-block: 4px 16px; }
  .mobile-solutions a[aria-current=page] { background: var(--soft); border-radius: 6px; }

  /* The existing cover and fact strip become two precisely layered planes. */
  .hero, .cover-panel {
    border-radius: 18px;
    box-shadow: 0 2px 4px #10251e0a, 0 18px 40px #10251e0d;
  }
  .hero::before, .cover-panel::before {
    content: ''; position: absolute; inset: 0; z-index: 1;
    border: 1px solid #ffffff24; border-radius: inherit; pointer-events: none;
  }
  .hero-caption, .cover-caption { padding-left: 20px; border-left: 1px solid #ffffff30; }
  .principles, .cover-facts {
    position: relative; z-index: 2; background: #fff;
    border: 1px solid var(--line); border-radius: var(--finish-radius);
    box-shadow: var(--finish-shadow);
  }
  .principles p, .cover-facts > p { gap: 9px; }
  .consultation-card, .cover-panel .cover-consultation {
    border-radius: 10px;
    border-color: #ffffffb3;
    box-shadow: 0 2px 4px #10251e0d, 0 12px 28px #10251e20;
    transition: transform 350ms var(--finish-ease), box-shadow 350ms ease, border-color 250ms ease;
  }
  .consultation-portrait { border-radius: 6px; }
  .consultation-arrow { border: 1px solid var(--line); }
  .consultation-experience { box-shadow: inset 0 0 0 1px #132f280a; }

  /* White space establishes hierarchy without changing a single type style. */
  .section { padding-block: clamp(80px, 8vw, 120px); }
  .section-heading { margin-bottom: 52px; }
  .section-label { margin-bottom: 24px; }
  .section-heading .section-intro { padding-top: 4px; }
  .approach { padding-block: 100px; border-block: 1px solid var(--line); }
  .soft-panel, .preparation-band, .service-work { padding-block: 96px; }
  .preparation-band { box-shadow: inset 0 1px 0 #ffffffb3; }
  .service-work { box-shadow: inset 0 1px 0 #ffffff12, inset 0 -1px 0 #ffffff12; }
  .service-work .industry-focus-list article { padding-block: 28px; }
  .service-work .industry-focus-list article:first-child { padding-top: 0; }

  .solution-grid { border: 1px solid var(--line); border-radius: var(--finish-radius); background: #fff; }
  .solution-card { position: relative; padding: 34px 30px; }
  .solution-card:first-child { border-radius: 13px 13px 0 0; }
  .solution-card:last-child { border-bottom: 0; border-radius: 0 0 13px 13px; }
  .solution-card .card-number { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 50%; }
  .solution-card .card-top { padding-top: 0; }
  .solution-card .card-link { justify-self: stretch; justify-content: space-between; max-width: 520px; }
  .solution-card .card-link > span {
    display: grid; place-items: center; width: 34px; height: 34px;
    border: 1px solid var(--line); border-radius: 50%;
    transition: background 250ms ease, border-color 250ms ease, transform 350ms var(--finish-ease);
  }
  .finance-tiles { gap: 32px; }
  .finance-tile, .industry-solution-card {
    border-radius: var(--finish-radius); box-shadow: 0 3px 12px #10251e04;
    transition: transform 400ms var(--finish-ease), box-shadow 350ms ease, border-color 250ms ease, background 250ms ease;
  }
  .finance-tile-copy { padding: 32px; }
  .finance-tile-link { padding-top: 22px; }
  .industry-solution-card { padding: 30px; }
  .industry-card-link { padding-top: 22px; }
  .service-page .situation-card { padding: 30px; border-radius: 12px; box-shadow: inset 0 1px 0 #fff; }
  .service-page .situation-card .small-number { padding-bottom: 20px; margin-bottom: 24px; border-bottom: 1px solid var(--line); }
  .service-page .instrument-row { padding-block: 32px; }
  .related-pages { padding-bottom: 80px; }
  .related-link { padding-block: 22px; }

  /* Founder and enquiry surfaces share the same tactile depth. */
  .founder-preview .team-preview-founder { border-radius: var(--finish-radius); box-shadow: var(--finish-shadow); }
  .team-preview-founder img { border-radius: 8px; }
  .founder-portrait { border: 1px solid var(--line); border-radius: var(--finish-radius); box-shadow: var(--finish-shadow); }
  .founder-portrait figcaption { border-top: 1px solid var(--line); }
  .profile-chapter { padding-top: 28px; margin-top: 30px; }
  .expert-card, .service-page .expert-card { padding: 32px; border-radius: var(--finish-radius); box-shadow: var(--finish-shadow); }
  .expert-card > img, .enquiry-person > img { border-radius: 7px; }
  .enquiry-surface { border-radius: 16px; box-shadow: var(--finish-shadow-raised); }
  .enquiry-surface-top { padding-block: 20px; box-shadow: inset 0 1px 0 #ffffff24; }
  .enquiry-form { padding-top: 32px; padding-bottom: 28px; }
  .enquiry-choice, .enquiry-amount > span, .enquiry-review, .enquiry-recipient { border-radius: 8px; }
  .enquiry-choice, .enquiry-amount > span { transition: border-color 220ms ease, background 220ms ease, box-shadow 220ms ease; }
  .enquiry-choice:has(input:checked) { box-shadow: inset 0 0 0 1px var(--forest), 0 4px 12px #10251e08; }
  .enquiry-progress button { position: relative; }
  .enquiry-progress button::before {
    content: ''; position: absolute; top: -2px; left: 0; right: 0; height: 2px;
    background: var(--forest); transform: scaleX(0); transform-origin: left;
    transition: transform 380ms var(--finish-ease);
  }
  .enquiry-progress button[aria-current=step]::before,
  .enquiry-progress button.is-complete::before { transform: scaleX(1); }
  .enquiry-page input:not([type=radio]), .enquiry-page select, .enquiry-page textarea {
    transition: border-color 220ms ease, box-shadow 220ms ease;
  }
  .enquiry-page input:not([type=radio]):focus-visible,
  .enquiry-page select:focus-visible, .enquiry-page textarea:focus-visible {
    border-color: var(--forest); box-shadow: 0 0 0 4px #132f2810;
  }

  /* More deliberate reading states and a quieter, generous closing panel. */
  .page-chapters { box-shadow: 0 5px 14px #10251e04; }
  .page-chapters a { position: relative; transition: color 200ms ease, border-color 200ms ease; }
  .page-chapters a[aria-current=location] { color: var(--copper); border-bottom-color: var(--copper); }
  .faq-list details { padding-block: 24px; transition: border-color 250ms ease; }
  .faq-list summary span { transition: background 250ms ease, border-color 250ms ease, transform 300ms var(--finish-ease); }
  .faq-list details[open] { border-bottom-color: var(--copper); }
  .faq-list details[open] summary span { border-color: var(--copper); }
  .faq-list details p { padding-bottom: 8px; }
  .closing-band { padding-block: 104px; box-shadow: inset 0 1px 0 #ffffff20; }
  .closing-contact { padding: 32px; border: 1px solid #ffffff26; border-radius: 12px; background: #ffffff04; box-shadow: 0 16px 40px #10251e20; }
  .closing-contact .button { display: flex; justify-content: space-between; }
  .closing-assurances { margin-top: 32px; gap: 14px 26px; }
  .footer { padding-top: 64px; }
  .footer-columns { padding-bottom: 60px; }
  .button { border-radius: 7px; transition: transform 300ms var(--finish-ease), box-shadow 300ms ease, background 220ms ease, border-color 220ms ease; }
  .button-dark { box-shadow: 0 3px 8px #10251e12, inset 0 1px 0 #ffffff12; }
  .button-orange { box-shadow: 0 4px 12px #10251e12, inset 0 1px 0 #ffffff50; }
  .text-link, .related-link { transition: border-color 220ms ease, color 220ms ease; }
  .text-link > span[aria-hidden], .related-link > span, .industry-card-link > span { transition: transform 300ms var(--finish-ease); }

  @media (min-width: 981px) {
    .hero-copy, .cover-panel:has(+ .cover-facts) .cover-content { padding-top: 72px; padding-bottom: 100px; }
    .hero-copy, .cover-content { padding-left: max(36px, calc(var(--page-inset) - max(24px, (100vw - 1440px) / 2))); }
    .hero-scroll, .cover-panel:has(+ .cover-facts) .cover-discover { bottom: 58px; }
    .principles, .cover-facts { margin-top: -28px; padding: 30px 34px; }
    .hero + .principles + .section, .cover-facts + .section { padding-top: 96px; }
    .cover-facts + .page-chapters { margin-top: 28px; }
    .section-heading { align-items: flex-end; }
    .section-heading .section-intro { padding-bottom: 4px; }
    .founder-preview .team-preview-founder { padding: 48px; }
    .journey-intro { position: sticky; top: calc(var(--nav-offset, 84px) + 48px); }
  }
  @media (min-width: 861px) {
    .enquiry-layout { padding-top: 40px; padding-bottom: 96px; }
    .enquiry-next-steps { padding-block: 80px; }
    .enquiry-page .faq-section { padding-block: 88px; }
  }
  @media (max-width: 980px) {
    .principles, .cover-facts { margin-top: 20px; margin-bottom: 20px; padding: 26px; }
    .section { padding-block: 80px; }
    .section-heading { margin-bottom: 36px; }
    .approach, .soft-panel, .preparation-band, .service-work, .closing-band { padding-block: 76px; }
    .solution-card { padding: 28px 24px; column-gap: 22px; }
    .finance-tile-copy, .industry-solution-card, .service-page .situation-card { padding: 26px; }
    .expert-card, .service-page .expert-card { padding: 26px; }
    .closing-contact { padding: 28px; }
  }
  @media (max-width: 680px) {
    .hero, .cover-panel { border-radius: 12px; box-shadow: 0 8px 24px #10251e0a; }
    .hero-copy, .cover-content, .industry-cover .cover-content { padding-top: 38px; padding-bottom: 34px; }
    .hero-scroll { padding-bottom: 24px; }
    .principles, .cover-facts { padding: 6px 20px; border-radius: 10px; margin-top: 18px; margin-bottom: 8px; box-shadow: 0 8px 24px #10251e05; }
    .principles p, .cover-facts > p { gap: 16px; }
    .section { padding-block: 64px; }
    .section-label { margin-bottom: 20px; }
    .section-heading { margin-bottom: 32px; }
    .section-heading .section-intro { padding: 0; }
    .approach, .soft-panel, .preparation-band, .service-work, .closing-band { padding-block: 60px; }
    .solution-card { padding: 24px 20px; column-gap: 16px; grid-template-columns: 38px minmax(0, 1fr); }
    .solution-card .card-top { padding-top: 0; }
    .solution-card .card-link { padding-top: 12px; }
    .finance-tile-copy, .industry-solution-card, .service-page .situation-card { padding: 24px; }
    .finance-tiles, .industry-solutions { gap: 22px; }
    .service-page .situation-card .small-number { padding-bottom: 16px; margin-bottom: 20px; }
    .founder-preview .team-preview-founder { padding: 24px; }
    .expert-card, .service-page .expert-card { padding: 24px; }
    .related-pages { padding-bottom: 56px; }
    .closing-contact { padding: 24px; }
    .closing-assurances { gap: 12px; }
    .footer { padding-top: 44px; }
    .footer-columns { padding-bottom: 36px; }
    .enquiry-surface { border-radius: 12px; box-shadow: var(--finish-shadow); }
    .enquiry-form { padding-top: 24px; padding-bottom: 24px; }
    .enquiry-surface-top { padding-block: 16px; }
    .enquiry-next-steps, .enquiry-page .faq-section { padding-block: 56px; }
  }
  @media (max-width: 380px) {
    .hero-copy, .cover-content, .industry-cover .cover-content { padding-inline: 20px; }
    .principles, .cover-facts { padding-inline: 16px; }
    .solution-card { padding-inline: 18px; }
    .finance-tile-copy, .industry-solution-card, .service-page .situation-card,
    .expert-card, .service-page .expert-card, .closing-contact { padding: 20px; }
  }

  @media (hover: hover) and (pointer: fine) {
    .consultation-card:hover { transform: translateY(-3px); box-shadow: 0 4px 8px #10251e12, 0 20px 38px #10251e2b; }
    .finance-tile:hover, .industry-solution-card:hover { transform: translateY(-4px); box-shadow: var(--finish-shadow-raised); }
    .solution-card:hover .card-link > span, .solution-card:focus-within .card-link > span { background: var(--orange); border-color: var(--orange); transform: translate(2px, -2px); }
    .button:hover { transform: translateY(-2px); box-shadow: 0 8px 18px #10251e14; }
    .enquiry-page .button:hover { transform: translateY(-2px); }
    .text-link:hover > span[aria-hidden], .related-link:hover > span,
    .industry-solution-card:hover .industry-card-link > span { transform: translate(3px, -3px); }
    .faq-list summary:hover span { border-color: var(--copper); background: var(--soft); }
  }
  .button:active, .consultation-card:active { transform: translateY(0); }
  .consultation-card:focus-visible, .finance-tile:focus-visible, .industry-solution-card:focus-visible { outline: 3px solid var(--copper); outline-offset: 5px; }

  @media (prefers-reduced-motion: no-preference) {
    .nav-dropdown[open] .nav-dropdown-panel { animation: finish-menu 240ms var(--finish-ease) both; transform-origin: top center; }
    .mobile-nav:not([hidden]) { animation: finish-menu 220ms var(--finish-ease) both; }
    .faq-list details[open] > p { animation: finish-answer 280ms var(--finish-ease) both; }
    .finish-enter { animation: finish-enter 650ms var(--finish-ease) both; }
    @keyframes finish-menu { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
    @keyframes finish-answer { from { opacity: .35; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
    @keyframes finish-enter { from { opacity: .35; transform: translateY(14px); } to { opacity: 1; transform: none; } }
  }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation: none !important; transition: none !important; }
    .button:hover, .enquiry-page .button:hover, .consultation-card:hover,
    .finance-tile:hover, .industry-solution-card:hover { transform: none; }
  }
  @media print {
    .finish-enter { animation: none; opacity: 1; transform: none; }
    .journey-intro { position: static; }
  }
}
