/* Dennis feedback, 20 October 2026: calmer hierarchy, stronger contrast.
   Loaded after the established gold identity; no teaser or intro asset changes. */
:root {
  --feedback-charcoal: #252725;
  --feedback-charcoal-soft: #30322f;
  --feedback-gold: #bca46e;
  --feedback-ivory: #f4f0e6;
  --feedback-silver: #dedfd9;
}
body { background: #fffefa; color: #272925; }
.paper { background: #f2f2ed; color: #272925; }
.section { padding-block: clamp(58px, 6.2vw, 88px); }
.section-head { gap: clamp(26px, 4vw, 64px); }
.section-head p { line-height: 1.8; }

/* One legible navigation row. The mobile breakpoint matches site.js. */
.site-header { background: #fffefaf7; border-bottom: 1px solid #d5d5cc; box-shadow: none; }
.site-header .header-row { height: 96px; gap: 23px; }
.site-header .brand, .site-header .brand img.signature-horizontal { width: 225px; }
.site-header .brand img.signature-horizontal { height: 74px; }
.site-header .desktop-nav { gap: 23px; min-width: 0; font-size: 12px; }
.site-header .nav-link { min-height: 44px; display: inline-flex; align-items: center; line-height: 1.4; }
.site-header .nav-link:hover, .site-header .nav-link[aria-current=page] { color: #765b24; }
.site-header .nav-dropdown ul { width: 286px; padding: 9px; border-radius: 12px; border-color: #c8c7ba; box-shadow: 0 16px 36px #25272514; }
.site-header .nav-dropdown ul a { padding: 12px 13px; min-height: 44px; line-height: 1.5; }
.site-header .nav-dropdown ul li:last-child a { border-top: 1px solid #e1dfd5; border-radius: 0 0 6px 6px; }
.site-header .header-cta { display: inline-flex; min-height: 44px; padding: 11px 16px; flex: none; color: #252725; border-color: #b49a60; background: #ebdfc5; }
.site-header .language-switch { gap: 0; }
.site-header .language-switch a { min-height: 44px; display: inline-flex; justify-content: center; align-items: center; color: #53574f; }
.site-header .menu-toggle { width: 44px; height: 44px; min-width: 44px; min-height: 44px; border-color: #bdbeb5; }
.site-header .mobile-nav { background: #fffefa; border-color: #deddd3; }
.site-header .mobile-nav a, .site-header .mobile-nav summary { min-height: 46px; color: #272925; line-height: 1.5; }
.site-header .mobile-nav summary { cursor: pointer; padding: 13px 0; border-bottom: 1px solid #deddd3; }
.site-header .mobile-nav .sub { color: #55594f; padding-left: 18px; }
.site-header .mobile-nav details { margin: 0; }

/* Static marks immediately below navigation. Nothing auto-scrolls. */
.partner-ribbon { padding-block: 14px; background: #eeeee7; border-bottom: 1px solid #d2d3ca; }
.partner-ribbon > .container { display: grid; grid-template-columns: 145px minmax(0,1fr); align-items: center; gap: 23px; }
.partner-ribbon-label { color: #575b50; font-size: 11px; line-height: 1.6; letter-spacing: .06em; text-transform: uppercase; text-decoration: underline; text-decoration-color: #bba16b; text-underline-offset: 5px; }
.partner-ribbon-label:hover { color: #765b24; }
.partner-ribbon-list { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; list-style: none; padding: 0; margin: 0; min-width: 0; }
.partner-ribbon-list > li { min-width: 0; }
.partner-ribbon-item { display: flex; min-width: 0; min-height: 66px; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; color: #3c4036; }
.partner-ribbon-logo { display: flex; align-items: center; justify-content: center; width: 86px; height: 37px; padding: 4px 9px; background: #fffefb; border: 1px solid #dcdccf; border-radius: 11px; }
.partner-ribbon-logo img { display: block; width: auto; height: auto; max-width: 100%; max-height: 28px; object-fit: contain; filter: grayscale(1); opacity: .94; }
.partner-ribbon-name { max-width: 145px; font-size: 10px; line-height: 1.45; overflow-wrap: break-word; }
a.partner-ribbon-item:hover .partner-ribbon-logo { border-color: #ad9258; background: #fff; }
a.partner-ribbon-item:hover { color: #765b24; }

/* Warm opening, quiet service surfaces, and a visibly distinct page rhythm. */
.hero { background: #f4f0e6; border-bottom: 1px solid #c8b98e; }
.hero .hero-grid { padding-top: 54px; padding-bottom: 52px; min-height: 570px; gap: 34px; }
.hero h1 { color: #252725; }
.hero .lead { color: #4e5349; max-width: 550px; line-height: 1.8; }
.hero .eyebrow { color: #775d29; }
.hero .claim { color: #626658; }
.hero .hero-bottom { border-color: #d2ccbb; }
.hero .hero-bottom a { border-color: #d2ccbb; color: #383c32; }
.hero .hero-film { border-color: #c8b995; box-shadow: 0 12px 28px #3935220a; background: #fffefa; }
.hero .film-heading, .hero .film-caption { color: #53574c; }
.page-hero { background: #eeeee8; border-bottom: 1px solid #d4d5cc; }
.page-hero .lead { color: #52564c; }
.service-card { background: #f0f0ea; border-color: #d1d3c8; border-radius: 17px; padding: 27px 25px 25px; box-shadow: none; }
.service-card:hover { transform: none; border-color: #aa925c; box-shadow: none; }
.service-card h3 { color: #272925; }
.service-card p:not(.card-tagline), .service-card ul { color: #555a4e; }
.service-card .card-top { margin-bottom: 24px; }
.service-card .card-tagline { color: #765d2a; }
.service-card ul { border-color: #d1d3c8; }
.service-card .card-link { min-height: 44px; padding-top: 8px; color: #5e4d29; }

/* The new portrait keeps its square composition and face position. */
.founder-section { background: #252725; color: #faf8f1; border-block: 1px solid #3c3e38; }
.founder-section h2, .founder-section h3 { color: #faf8f1; }
.founder-section .muted, .founder-section .role { color: #d4d5cb; }
.founder-section .eyebrow { color: #d0b980; }
.founder-section .signature { color: #dbc48c; }
.founder-section .link-arrow { color: #f8f4e9; border-color: #b8a16c; }
.founder-section .link-arrow:hover { color: #dbc48c; }
.founder-section .founder-grid { gap: clamp(32px,6vw,88px); }
.founder-image { justify-self: center; width: 100%; max-width: 480px; overflow: hidden; border: 1px solid #baaa85; border-radius: 17px; background: #26231e; }
.founder-image img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; object-position: center; }
.profile-card img { width: 96px; height: 96px; aspect-ratio: 1 / 1; object-fit: contain; object-position: center; border-radius: 12px; flex: none; background: #302b24; }

/* Compact references remain readable without card-internal scrollboxes. */
.reference-section { background: #eeeee7; border-block: 1px solid #d3d4c9; }
.reference-section .section-head { margin-bottom: 30px; }
.reference-section .eyebrow { color: #725a28; }
.reference-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 21px; }
.reference-card { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 29px 25px 24px; border: 1px solid #d0d1c5; border-top: 3px solid #bba269; border-radius: 15px; background: #fffefb; color: #30342b; }
.reference-client { color: #746032; font-size: 12px; line-height: 1.5; letter-spacing: .04em; margin: 0 0 17px; }
.reference-title { color: #30342b; font-size: clamp(21px,1.8vw,26px); line-height: 1.3; margin-bottom: 15px; }
.reference-summary { color: #585e50; font-size: 13px; line-height: 1.85; margin-bottom: 23px; overflow-wrap: break-word; }
.reference-link { display: inline-flex; gap: 12px; align-items: center; margin-top: auto; min-height: 44px; padding-block: 9px; color: #5e4b20; border-bottom: 1px solid #c1ac7b; font-size: 12px; line-height: 1.5; }
.reference-link svg { width: 17px; height: 17px; flex: none; }
.reference-link:hover { color: #252725; border-color: #765b24; }
.reference-note { color: #5e6456; font-size: 12px; line-height: 1.8; max-width: 850px; margin: 25px 0 0; }

/* The full directory uses the same restrained logo treatment as the ribbon. */
body[data-page=partners] .partner-overview { background: #f6f4ec; }
body[data-page=partners] .partner-overview-grid { gap: 20px; }
body[data-page=partners] .partner-overview-link { background: #fffefa; border-color: #cfcec1; border-radius: 16px; min-height: 190px; box-shadow: none; }
body[data-page=partners] .partner-overview-mark { background: #f3f3ed; border: 1px solid #e0e0d5; border-radius: 13px; width: min(100%,210px); }
body[data-page=partners] .partner-overview-mark img { object-fit: contain; max-width: 100%; }
body[data-page=partners] .partner-overview-name { color: #30342a; }
body[data-page=partners] .partner-overview-relation { color: #5c6254; }

/* Hays belongs with the People service, separate from holdings. */
.consulting-partner { background: #eeeee7; border-block: 1px solid #d3d4c9; padding-block: 38px; }
.consulting-partner > .container { display: grid; grid-template-columns: 150px minmax(0,1fr) auto; align-items: center; gap: 28px; }
.consulting-partner-logo { display: flex; align-items: center; justify-content: center; min-height: 88px; padding: 12px; background: #fffefa; border: 1px solid #d2d3c7; border-radius: 13px; }
.consulting-partner-logo img { display: block; width: 136px; height: 62px; max-width: 100%; object-fit: contain; filter: grayscale(1); }
.consulting-partner-copy { min-width: 0; }
.consulting-partner-copy h2 { font-size: clamp(23px,2.2vw,30px); line-height: 1.3; margin-bottom: 10px; }
.consulting-partner-copy p { color: #555b4d; font-size: 14px; line-height: 1.8; margin-bottom: 0; max-width: 620px; }
.consulting-partner .link-arrow { min-height: 44px; color: #615029; }

/* Charcoal closes the page, while the chosen emblem stays on a white panel. */
.site-footer { background: #252725; color: #f4f2e9; border-top: 1px solid #555848; }
.site-footer .footer-title, .site-footer h2, .site-footer h3 { color: #f4f2e9; }
.site-footer .footer-links a, .site-footer .footer-contact a { color: #e4e5db; }
.site-footer .footer-brand p, .site-footer .footer-contact p, .site-footer .footer-bottom { color: #cbcec1; }
.site-footer .footer-links a:hover, .site-footer .footer-contact a:hover, .site-footer .footer-bottom a:hover { color: #dcc58b; }
.site-footer .footer-bottom { border-color: #535648; }
.site-footer .footer-bottom a, .site-footer .privacy-settings-trigger, .site-footer .intro-replay { color: #d7dbce; }
.site-footer .footer-brand .signature-picture { display: block; width: min(100%,184px); padding: 13px; margin-bottom: 25px; background: #fffefa; border: 1px solid #c8b682; border-radius: 15px; }
.site-footer .footer-brand img.signature-lockup { width: 100%; max-height: none; margin: 0; }
.site-footer .social-links a { color: #e6ddc6; border-color: #747765; background: #30332b; }
.site-footer .social-links a:hover { color: #fff8e8; border-color: #c8b27b; background: #3d4135; }
.site-footer .privacy-settings-trigger { min-height: 44px; }
.cta-section { background: #e9dfc8; color: #272925; border-color: #c9b991; }
.cta-section h2, .cta-section p { color: #30362b; }

@media (min-width:1025px) and (max-width:1240px) {
  .site-header .header-row { gap: 14px; }
  .site-header .brand, .site-header .brand img.signature-horizontal { width: 185px; }
  .site-header .brand img.signature-horizontal { height: 66px; }
  .site-header .desktop-nav { gap: 15px; font-size: 11px; }
  .site-header .header-cta { display: inline-flex; font-size: 11px; padding-inline: 12px; }
}
@media (max-width:1100px) {
  .partner-ribbon > .container { grid-template-columns: 1fr; gap: 9px; }
  .partner-ribbon-label { font-size: 10px; }
  .partner-ribbon-list { gap: 9px; }
  .partner-ribbon-item { min-height: 62px; }
}
@media (max-width:1024px) {
  .site-header .desktop-nav, .site-header .header-cta { display: none; }
  .site-header .menu-toggle { display: inline-flex; }
  .site-header .header-row { height: 92px; }
  .site-header .language-switch { margin-left: auto; }
  .site-header .language-switch a { min-width: 44px; min-height: 44px; padding: 7px 5px; }
  .site-header .mobile-nav { max-height: calc(100svh - 92px); overflow-y: auto; overscroll-behavior: contain; }
  .hero .hero-grid { gap: 28px; }
  .founder-section .founder-grid { gap: 38px; }
  .reference-card { padding: 25px 21px 21px; }
}
@media (max-width:760px) {
  .reference-grid { grid-template-columns: 1fr; gap: 15px; }
  .reference-card { padding: 26px 24px; }
  .reference-summary { font-size: 14px; margin-bottom: 15px; }
  .reference-title { font-size: 24px; }
  .consulting-partner > .container { grid-template-columns: 120px minmax(0,1fr); gap: 18px 24px; }
  .consulting-partner > .container > .link-arrow { grid-column: 2; justify-self: start; }
  .partner-ribbon { padding-block: 13px 15px; }
  .partner-ribbon-list { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px 14px; }
  .partner-ribbon-item { min-height: 60px; gap: 4px; }
  .partner-ribbon-logo { width: 86px; height: 34px; }
  .partner-ribbon-logo img { max-height: 26px; }
  .partner-ribbon-name { font-size: 10px; max-width: 140px; }
}
@media (max-width:640px) {
  .site-header .header-row { height: 80px; gap: 8px; padding-inline: 16px; }
  .site-header .brand, .site-header .brand img.signature-horizontal { width: clamp(118px,34vw,156px); }
  .site-header .brand img.signature-horizontal { height: 58px; }
  .site-header .language-switch a { min-width: 44px; padding-inline: 4px; }
  .site-header .mobile-nav { max-height: calc(100svh - 80px); }
  .hero .hero-grid { min-height: 0; padding-top: 25px; padding-bottom: 34px; gap: 22px; }
  .hero .hero-copy { max-width: 100%; }
  .hero .lead { font-size: 16px; line-height: 1.8; }
  .hero .hero-media { width: 100%; margin: 0; }
  .hero .hero-bottom a { min-width: 0; padding-left: 0; }
  .hero .hero-bottom a + a { border-left: 0; }
  .section-head { gap: 21px; }
  .service-card { padding: 23px 22px; }
  .founder-section .founder-grid { gap: 31px; }
  .founder-image { max-width: 420px; border-radius: 15px; }
  .profile-card img { width: 84px; height: 84px; }
  .consulting-partner { padding-block: 29px; }
  .consulting-partner > .container { grid-template-columns: minmax(0,1fr); gap: 20px; align-items: start; }
  .consulting-partner-logo { width: 150px; }
  .consulting-partner > .container > .link-arrow { grid-column: 1; }
  .site-footer .footer-brand .signature-picture { width: 164px; }
  .cta-section .btn { min-height: 48px; }
  html { scroll-padding-top: 92px; }
}
@media (max-width:360px) {
  .site-header .header-row { padding-inline: 12px; gap: 6px; }
  .site-header .brand, .site-header .brand img.signature-horizontal { width: 100px; }
  .site-header .brand img.signature-horizontal { height: 52px; }
  .partner-ribbon-list { gap: 8px; }
  .partner-ribbon-logo { width: 78px; }
}
@media (prefers-reduced-motion:reduce) {
  .site-header .nav-dropdown *, .service-card, .partner-ribbon-item, .partner-ribbon-logo { transition: none; }
}
@media print {
  .founder-section, .site-footer, .reference-section, .hero, .page-hero { background: #fff; color: #000; }
  .founder-section h2, .founder-section .muted, .founder-section .role, .site-footer .footer-links a, .site-footer .footer-brand p { color: #000; }
}
