/* Protégé Berlin — black, charcoal and warm metallic gold. */
:root {
  --navy: #090909;
  --navy-2: #181816;
  --ink: #eeeae0;
  --cyan: #d5b768;
  --muted: #b4aea1;
  --paper: #151513;
  --line: rgba(213, 183, 104, .22);
  --gold: #d5b768;
  --gold-bright: #ead69a;
  --cream: #eeeae0;
  --charcoal: #181816;
}

body { background: #090909; color: var(--cream); }
::selection { background: #d5b768; color: #090909; }
.section-light { background: #151513; color: var(--cream); }
.section-dark { background: #090909; color: var(--cream); }
.eyebrow { color: #c7bc9f; }
.dark-eyebrow { color: #b4a98d; }
.dark-eyebrow > span:not(.status-dot) { color: var(--gold); }
.status-dot { background: var(--gold); box-shadow: 0 0 0 5px #d5b76810; }
.text-link.dark-link { color: var(--cream); border-color: #d5b76866; }
.button-cyan { color: #100f0b; background: linear-gradient(110deg, #b79545, #e6ce88 48%, #d2b15d); }
.button-cyan:hover { color: #080807; background: linear-gradient(110deg, #cfb066, #f2e2ad 48%, #dfc27b); }
.button-dark { background: #10100f; color: var(--cream); border-color: #d5b7686b; }
.button-dark:hover { color: var(--gold-bright); background: #232018; border-color: #d5b768a6; }
.skip-link { color: #090909; background: var(--gold-bright); }

/* Full, uncropped company artwork in navigation and footer. */
.brand { width: 176px; height: 80px; display: flex; align-items: center; overflow: visible; }
.brand img, .footer-brand img {
  position: static;
  left: auto;
  top: auto;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: left center;
}
.site-header { color: var(--cream); border-bottom-color: #d5b76826; }
.site-header.is-sticky { background: #090909f5; box-shadow: 0 6px 30px #0005; }
.desktop-nav a { color: #c5c0b5; }
.desktop-nav a:hover, .subpage .desktop-nav .current-page { color: var(--gold-bright); }
.header-cta { color: #e4dcc8; border-color: #d5b76863; }
.header-cta:hover { color: #090909; background: var(--gold); border-color: var(--gold); }
.menu-toggle > span { background: var(--gold-bright); }
.mobile-menu { background: #090909fc; color: var(--cream); }
.mobile-menu > a:not(.mobile-phone) { border-bottom-color: #d5b76827; }
.mobile-menu > a:hover, .mobile-menu .mobile-phone { color: var(--gold-bright); }
.subpage .breadcrumb { color: #a99b7f; }
.breadcrumb a { color: #e3d9c0; }

/* Neutral photo treatments keep the gold identity separate from the images. */
.hero { background: #10100f; color: var(--cream); }
.hero-photo { filter: saturate(.4) sepia(.12); }
.hero-shade {
  background: linear-gradient(90deg, #070706df 0%, #070706a3 39%, #07070626 79%),
    linear-gradient(0deg, #090909f0, transparent 34%, #09090920 70%, #09090960);
}
.hero-grid { border-inline-color: #d5b7680d; background: linear-gradient(90deg, transparent calc(66.666% - 1px), #d5b7680d 66.666%, transparent calc(66.666% + 1px)); }
.hero-description { color: #d3cfc3; }
.hero-side-note { color: #d7cfbb; }
.hero-bottom { border-top-color: #d5b76836; }
.hero-bottom p, .hero-number { color: #a9a395; }
.hero-bottom strong { color: #ede6d6; }
.scroll-line { background: #d5b76835; }
.principles-strip { background: #181713; color: #d6cdb7; border-bottom-color: #d5b76821; }
.intro-copy { color: #b4aea2; }
.intro-copy .lead, .intro-copy .text-link { color: var(--cream); }
.section-heading > p { color: #b4ac9e; }
.services { border-top: 1px solid #d5b76812; }
.service-card { color: var(--cream); background: #201e18; }
.service-card img { filter: saturate(.18) sepia(.16); }
.service-card:hover img, .service-card:focus-visible img { filter: saturate(.35) sepia(.15); }
.service-overlay { background: linear-gradient(0deg, #090909fd 0%, #090909ec 28%, #0909093d 100%); }
.service-index { color: #dcd4be; }
.service-short { color: #beb8aa; }
.service-more { color: #e2d8bf; border-top-color: #d5b76840; }
.services-bottom { color: #b4ac9c; }
.services-bottom a { color: #eee7d6; }
.attitude-photo > img { filter: saturate(.12) sepia(.1) brightness(.77); }
.attitude-photo:after { background: linear-gradient(0deg, #090909b8, transparent 55%); }
.image-coordinate { color: #f0e8d5; }
.attitude-copy > p:not(.eyebrow):not(.lead) { color: #b4aea1; }
.value-row > span { color: var(--gold); }
.value-row p { color: #b4aea1; }
.statement { background: #11110f; border-block: 1px solid #d5b76815; }
.statement:before, .statement:after { border-color: #d5b7680d; }
.statement-caption { color: #b4a98b; }
.process .section-heading > p { color: #b4aea1; }
.process-step { border-top-color: #d5b76840; }
.step-top > span { color: #baa77b; }
.step-top i { color: var(--gold); }
.process-step p { color: #b4aea1; }
.process-note { background: #211f18; border: 1px solid #d5b7681f; }
.process-note .status-dot { background: var(--gold); }
.process-note p { color: #c6bda7; }
.process-note > a { color: var(--gold); }
.home-careers { background: #1b1913; border-block: 1px solid #d5b76829; }
.home-careers p:not(.eyebrow) { color: #c3baa5; }
.faq-layout > div > p:not(.eyebrow), .faq-list details > p { color: #b4aea1; }
.faq-list summary > span { color: var(--gold); }

/* Contact, applications and native controls. */
.contact, .career-application { background: #11110f; border-top-color: #d5b76820; }
.contact-copy > p:not(.eyebrow) { color: #bcb4a3; }
.direct-contact > span { color: #ab9d7f; }
.contact-location { color: #b5aa91; }
.inquiry-panel { background: #1c1b17; border: 1px solid #d5b7682e; }
.form-top { color: #d5cab1; border-bottom-color: #d5b76836; }
.service-choices label > span { color: #d5cbb7; border-color: #d5b76840; }
.service-choices input:checked + span { color: var(--gold-bright); background: #d5b76813; border-color: var(--gold); }
#inquiry-form > label, .form-two > label, .career-form > label, .career-form .form-two > label { color: #d7cdb8; }
input:not([type=checkbox]), textarea { color: #f1eadb; border-bottom-color: #d5b7684f; }
input::placeholder, textarea::placeholder { color: #a79d88; }
.form-note { color: #b4a98f; }
.form-note > a { color: #e0c67f; }
.inquiry-review > p { color: #c4bba7; }
.inquiry-review pre { color: #ddd4bf; background: #0d0d0bbd; border-color: #d5b76822; }
.review-actions button { color: #d5c5a1; }
.review-actions button:hover { color: var(--gold-bright); }
.career-form select, .career-form select option { color: #e5dbc4; background: #1c1b17; border-bottom-color: #d5b7684f; }
.career-review pre { scrollbar-color: #d5b76875 transparent; }
.contact-copy .application-equality { color: #b1a68c !important; }

/* Careers page. */
.career-hero-image {
  background: linear-gradient(90deg, #090909f7 0%, #090909d3 50%, #09090980),
    linear-gradient(0deg, #090909, transparent 60%), url('/assets/event.jpg') center 47%/cover no-repeat;
  filter: saturate(.1) sepia(.12);
}
.career-hero-content > p:not(.eyebrow):not(.breadcrumb) { color: #d0c8b7; }
.career-hero-note { color: #c0ac7e; }
.career-hero-bottom { color: #ab9e82; border-top-color: #d5b76839; }
.two-column-intro p:not(.eyebrow):not(.lead), .jobs-section .section-heading > p { color: #b4aea1; }
.two-column-intro .lead { color: var(--cream); }
.job-filters button { color: #c4bba6; border-color: #d5b76840; background: transparent; }
.job-filters button[aria-pressed=true] { color: #e9d79d; background: #282419; border-color: #d5b7688c; }
.job-filters button:hover { color: #eee1b7; border-color: #d5b768ad; }
#job-result-count { color: #ada18a; }
.job-opening { background: #1c1b17; border-color: #d5b76833; }
.job-opening-meta, .job-category { color: #b2a68b; }
.job-tag { color: #d8bd79; }
.job-tag .status-dot { background: #d5b768; }
.job-title { color: #f0eadc; }
.job-title small { color: #bdb199; }
.job-expand { color: #c4b17f; }
.job-expand b { color: #d5b768; border-color: #d5b76859; }
.job-details[open] .job-expand b { background: #d5b76812; }
.job-details-content, .job-opening-footer, .job-apply-row { border-top-color: #d5b76833; }
.job-opening-footer { color: #b4a88e; }
.job-description-grid p, .job-description-grid li { color: #bfb6a3; }
.job-description-grid li:before { color: #d5b768; }
.job-description-grid .job-terms { color: #d2c4a4; background: #28241b; }
.job-apply-row > span { color: #b5a78a; }
.career-initiative { background: #211f18; border: 1px solid #d5b76825; }
.initiative-mark { color: #d5b768; }
.career-initiative p { color: #bcb29b; }
.career-process { background: #0e0e0c; }
.career-process-grid article { border-top-color: #d5b76840; }
.career-process-grid p { color: #bdb39f; }

/* Policy page and the genuine company logo panel. */
.policy-hero { background: #0a0a09; }
.policy-hero:before { border-color: #d5b76812; }
.policy-hero-copy > p:not(.eyebrow) { color: #bfb5a0; }
.ceo-portrait { background: #24221c; }
.ceo-portrait:after { background: linear-gradient(0deg, #090909ef, transparent); }
.ceo-portrait figcaption { color: #eee4ce; }
.ceo-portrait figcaption > span:last-child { color: #d0bc89; }
.portrait-bracket { border-top-color: #d5b76888; border-right-color: #d5b76888; }
.policy-principles .section-heading > p { color: #b5a991; }
.policy-principle > span { color: #d5b768; }
.policy-principle p { color: #b9b09e; }
.policy-practice { background: #0d0d0b; border-block: 1px solid #d5b7681b; }
.policy-practice-layout > div:first-child > p:not(.eyebrow), .practice-list p { color: #beb39c; }
.practice-list article { border-top-color: #d5b7683b; }
.leadership-mark {
  background: radial-gradient(ellipse at 50% 40%, #282217 0, #15130f 62%, #0c0c0b 100%);
  border: 1px solid #d5b7682f;
  min-height: 420px;
  padding: 58px 40px;
  font-size: 0;
  isolation: isolate;
}
.leadership-mark:after { inset: 22px; border-color: #d5b76826; pointer-events: none; }
.leadership-mark > img { display: block; width: 100%; height: auto; max-height: 300px; object-fit: contain; }
.leadership-mark > span { color: #c5aa64; }
.leadership-layout p:not(.eyebrow):not(.leadership-role) { color: #bab09b; }
.leadership-role { color: #d5b768 !important; }
.policy-contact { background: #1a1812; border-top: 1px solid #d5b76825; }
.policy-contact p:not(.eyebrow) { color: #c1b59b; }

/* Footer and service detail dialogs. */
.site-footer { color: #b2a78e; background: #080808; }
.footer-brand { width: 190px; height: 110px; }
.footer-main > div > a:hover, .footer-bottom a:hover, .footer-bottom button:hover { color: var(--gold-bright); }
.back-top { border-color: #d5b76850; color: #e2cf98; }
.back-top:hover { background: #d5b768; color: #0b0b09; }
.footer-bottom { border-top-color: #d5b76829; }
.footer-city { color: #a18f65; }
.service-dialog { background: #181713; color: var(--cream); border: 1px solid #d5b76830; }
.service-dialog::backdrop { background: #050504e8; }
.dialog-close { color: #e8d8ad; background: #181713; border-color: #d5b7684d; }
.dialog-close:hover { background: #2a2519; }
.dialog-image:after { background: linear-gradient(0deg, #090909ce, transparent); }
.dialog-image > img { filter: saturate(.15) sepia(.12); }
.dialog-image-label { color: #e1d5b7; }
.dialog-lead, .dialog-note { color: #bcb29c; }
.dialog-content li { border-bottom-color: #d5b7682b; color: #ded4bd; }
.dialog-content li:before { color: var(--gold); }

@media (max-width: 1100px) {
  .brand { width: 154px; height: 73px; }
}
@media (max-width: 800px) {
  .brand { width: 136px; height: 65px; }
  .hero-shade { background: linear-gradient(90deg, #080807e6, #08080785), linear-gradient(0deg, #090909ed, transparent 42%); }
  .footer-brand { width: 170px; height: 100px; }
  .leadership-mark { min-height: 340px; padding: 44px 25px; }
}
@media (max-width: 500px) {
  .site-header .brand { width: 115px; height: 62px; }
  .site-header .brand img { position: static; width: 100%; height: 100%; max-width: 100%; object-fit: contain; }
  .footer-brand { width: 136px; height: 90px; }
  .footer-brand img { position: static; width: 100%; height: 100%; max-width: 100%; }
  .leadership-mark { min-height: 260px; padding: 42px 34px; }
  .leadership-mark:after { inset: 17px; }
  .leadership-mark > img { max-height: 230px; }
}
