/* EIC corporate presentation: natural photographs, clear type and quiet brass accents. */
@font-face {
  font-family: 'EIC Sans';
  src: url('/assets/fonts/SourceSans3VF-Upright.woff2') format('woff2');
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
}

:root {
  --ink: #1b211f;
  --navy: #232a26;
  --navy-deep: #1b211f;
  --paper: #f7f6f1;
  --white: #fffefa;
  --line: #d6d8cf;
  --muted: #60685f;
  --gold: #c6b477;
  --copper: #c6b477;
  --teal: #dce0d1;
  --espresso: #343a31;
  --stone: #e9e8e0;
  --brass: #766744;
  --olive: #53634d;
  --eic-font: 'EIC Sans', 'Source Sans 3', Arial, sans-serif;
}

body,
h1,
h2,
h3,
button,
input,
select,
textarea,
label,
.footer-brand p,
#brief-text {
  font-family: var(--eic-font);
}

body { background: var(--paper); font-size: 17px; line-height: 1.7; }
h1, h2, h3 { font-weight: 600; letter-spacing: 0; }
h2 { line-height: 1.16; }
h3 { line-height: 1.24; }
em { font-family: inherit; font-style: normal; font-weight: inherit; }

.hero-gold h1,
.page-intro h1,
.section-top h2,
.section-heading h2,
.portfolio-copy h2,
.scope-section h2,
.cta h2,
.cap-row h3,
.original-card h3,
.work-card h2,
.leadership-grid .leader-card h3,
.leadership-preview-grid h3,
.large-copy,
.contact-phone {
  font-family: var(--eic-font);
  font-weight: 600;
  letter-spacing: 0;
}

.eyebrow { color: var(--olive); letter-spacing: .065em; }
.hero-kicker { text-transform: none; letter-spacing: .025em; font-size: 18px; font-weight: 400; color: #d5d9cf; }
.button, .text-link { font-weight: 600; letter-spacing: .005em; }
.button { border-radius: 2px; box-shadow: none; }
.button:hover { background: #354037; box-shadow: none; transform: none; }
.button-small, .hero-actions .button { background: #ccbb87; border-color: #ccbb87; color: #1b211f; }
.site-header .button-small:hover, .hero-actions .button:hover { background: #dfd2ac; color: #1b211f; }
.button-light { background: var(--paper); border-color: var(--paper); color: var(--ink); }
.button-light:hover { background: var(--stone); }
.text-link { border-bottom-color: #b5bdad; }
.text-link:hover { color: var(--brass); border-bottom-color: var(--brass); }
.hero-gold .text-link:hover, .portfolio-section .text-link:hover, .values-band .text-link:hover { color: #e5d5a1; border-bottom-color: #b8a367; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline-color: #927b3e; }

.site-header { background: #1b211ff7; border-bottom-color: #68725d66; }
.site-header nav>a:not(.button) { color: #e2e6dd; }
.site-header nav>a[aria-current] { color: #ddd0a4; border-bottom-color: #b39e62; }
.site-header a:focus-visible, .site-header button:focus-visible, footer a:focus-visible { outline-color: #e0d1a0; }
.brand-lockup>span { border-left-width: 2px; border-left-color: #bda86b; letter-spacing: .04em; }

.hero-gold { background: #1b211f; }
.hero-gold::before { display: none; }
.hero-gold h1 { font-weight: 600; line-height: 1.09; font-size: clamp(44px, 4.7vw, 68px); }
.hero-gold h1 em { font: inherit; color: #dfd6b6; }
.hero-gold .eyebrow { color: #c9bd91; }
.hero-gold .hero-description { color: #d0d6cd; }
.hero-sectors { color: #f1f1e9; font-weight: 500; }
.hero-sectors span { color: #a89c73; }
.hero-gold .hero-note span { color: #c4b583; }
.hero-gold .hero-note p { color: #d2d8ce; }
.hero-visual::before { width: 2px; background: #b8a367; }
.hero-visual-tag { background: #1b211fe8; border-color: #a5a88966; color: #ded9c5; }
.hero-visual-tag>span { background: #bbaa74; }
.hero-photo-caption { background: #1b211fe8; border-top-color: #b8a367; color: #f1f2ec; }
.hero-visual .globe-stage { background: #1b211f; box-shadow: 0 0 0 1px #969a7866; }
.hero-gold .hero-bottom { border-color: #7c866066; color: #c7cfbf; }
.hero-gold .motion-toggle { color: #e0d7ba; border-color: #9caa8166; }
.motion-toggle:hover { background: #313b31; }

.focus-band { background: #2c352e; color: #edf0e7; border-color: #73806666; }
.focus-links a { border-right-color: #77846666; }
.focus-links a:hover { color: #e0d5ab; }
.focus-links svg { stroke: #bcb28b; }
.focus-arrow { color: #c6ba8e; }

.sector-section, .original-work-section, .leadership-preview { background: var(--paper); }
.sector-film { border-top: 2px solid #a49b76; }
.sector-film video { filter: none; }
.film-tag { background: #1b211fe8; color: #eef0e6; border-color: #afb89666; letter-spacing: .06em; }
.sector-title>span { color: var(--olive); }
.sector-tags { color: var(--muted); }
.sector-tags li { border-bottom-color: #c3c8b8; }
.sector-footnote, .sector-footnote a { color: var(--muted); }
.sector-footnote a:hover { color: var(--ink); }
.capability-section, .soft, .leadership-section { background: var(--stone); }
.cap-row:hover h3 { color: var(--olive); }
.row-number { color: var(--muted); }
.automation-highlight { background: #e2e4d8; border-left-color: #839071; }
.automation-highlight .eyebrow, .automation-number { color: var(--olive); }
.automation-highlight p:not(.eyebrow) { color: var(--muted); }
.automation-highlight>.text-link { border-bottom-color: #adb89c; }

.original-work-section { padding: 72px 0; }
.original-intro p, .original-card p:not(.eyebrow) { color: var(--muted); }
.original-grid { gap: 28px; }
.original-card .gallery-open { border-top: 0; background: var(--stone); }
.original-card .gallery-open img,
.original-card:last-child .gallery-open img { aspect-ratio: 4 / 3; filter: none; }
.original-card>div { padding-top: 20px; }
.original-card h3 { font-size: 25px; line-height: 1.22; margin-bottom: 10px; }
.original-card .eyebrow, .work-card .eyebrow { color: var(--olive); letter-spacing: .04em; }
.work-card .gallery-open img, .detail-image img, .industry-card img { filter: none; }
.gallery-open { background: var(--stone); }
.gallery-open>span:not(.photo-brand) { background: #f7f6f1ed; color: var(--ink); box-shadow: 0 0 0 1px #1b211f25; }
.gallery-open>.gallery-expand { left: auto; right: 14px; bottom: 14px; }
.filter-button { border-color: #bdc6b4; border-radius: 2px; }
.filter-button[aria-pressed=true] { background: #354437; border-color: #354437; }
.gallery-disclosure, .image-note, .detail-image figcaption, .industry-film figcaption { color: var(--muted); }
dialog { background: var(--paper); border-radius: 2px; }
dialog::backdrop { background: #151d17dd; }
.dialog-close { background: #28342b; }

.crew-section { background: var(--stone); padding: 72px 0; }
.crew-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.crew-card { min-width: 0; }
.crew-photo { position: relative; overflow: hidden; background: #d9ded2; }
.crew-photo .gallery-open { background: transparent; }
.crew-photo>img, .crew-photo .gallery-open>img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; filter: none; }
.crew-card>div:not(.crew-photo), .crew-card>figcaption { padding-top: 18px; }
.crew-card h3 { margin: 0 0 9px; font-size: 26px; line-height: 1.22; }
.crew-card p { margin: 0; color: var(--muted); font-size: 16px; }
.media-type { display: inline-block; margin: 0 0 8px; font-size: 12px; font-weight: 500; line-height: 1.5; letter-spacing: .025em; text-transform: none; color: var(--muted); }

.photo-brand, .gallery-open>.photo-brand {
  position: absolute;
  inset: auto auto 12px 12px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  min-height: 0;
  max-width: 96px;
  padding: 8px 10px;
  margin: 0;
  border: 1px solid #b5a67480;
  border-radius: 1px;
  background: #1b211feb;
  color: #fff;
  line-height: 1;
  box-shadow: none;
  pointer-events: none;
}
.photo-brand img,
.gallery-open .photo-brand img,
.original-card .gallery-open .photo-brand img,
.original-card:last-child .gallery-open .photo-brand img,
.work-card .gallery-open .photo-brand img {
  display: block;
  width: 70px;
  max-width: 70px;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  filter: none;
}

.portfolio-section { background: #343b31; }
.portfolio-art>img { filter: none; }
.portfolio-stamp { background: #c3b384; color: #1b211f; }
.portfolio-copy .eyebrow { color: #d8cc9e; }
.portfolio-copy>p:not(.eyebrow) { color: #d7dccd; }
.values-band { background: #263028; }
.values-grid>div { border-top-color: #86906a80; }
.values-grid span, .values-band>.wrap>.eyebrow { color: #cabd8d; }
.values-grid p { color: #d4dacd; }
.cta { background: #e5e6da; }
.cta .eyebrow { color: var(--olive); }
.cta .button-light { background: #29372c; border-color: #29372c; color: #fffefa; }
.cta .button-light:hover { background: #45503b; }
.page-intro { background: #263029; border-bottom: 2px solid #a1a783; }
.page-intro .eyebrow { color: #d3c89e; }
.intro-copy { color: #d1d8c9; }

.leadership-grid .leader-card { background: #243028; border: 1px solid #88957777; border-radius: 2px; }
.leader-card::after { display: none; }
.leader-card-top>span { color: #c3cdba; }
.leadership-grid .leader-card .leader-role { color: #d7ca9d; letter-spacing: .01em; text-transform: none; }
.leadership-grid .leader-links a { color: #f0f1e9; }
.leader-links a>span { color: #cdbd88; }
.leader-links a:hover { color: #e4d5a4; }
.leadership-grid .contact-download { color: #e1d5af; border-top-color: #85907077; }
.leadership-preview-grid>a { border-top-color: #aebba1; }
.leadership-preview-grid>a>span:first-child { color: var(--olive); text-transform: none; letter-spacing: .01em; }
.leader-arrow, .leadership-preview-grid>a:hover h3 { color: var(--olive); }
.leadership-office { color: var(--muted); }
.brief-builder, .contact-direct { background: #e9ebe2; }
.contact-direct { border-left-color: #829171; }
input, select, textarea { border-color: #9da990; background: #fffefa; border-radius: 2px; }
.feature-list li:before { color: var(--olive); }

footer { background: #1b211f; color: #d0d8c6; }
.footer-brand p { font-family: var(--eic-font); color: #eef0e7; font-weight: 500; }
.footer-values { color: #c8bd92; letter-spacing: .04em; text-transform: none; }
.footer-bottom { border-top-color: #7f8a6770; }
.footer-domain, .license-identifier { color: #e1d4a3; }
.mobile-actions { background: #1b211ff7; border-top-color: #94a27977; }
.mobile-actions a { background: #d2c396; color: #1b211f; border-color: #d2c396; border-radius: 2px; }
.mobile-actions .mobile-call { color: #e1d4a3; background: transparent; }

@media (max-width: 1120px) {
  .hero-gold h1 { font-size: 51px; }
  .original-grid { gap: 24px; }
}
@media (max-width: 920px) {
  .site-header nav { background: #1b211f; }
  .original-grid { gap: 28px; }
  .original-card:last-child .gallery-open img { aspect-ratio: 4 / 3; }
  .crew-grid { gap: 26px; }
}
@media (max-width: 800px) {
  .hero-gold h1 { font-size: clamp(38px, 7.1vw, 59px); }
}
@media (max-width: 680px) {
  .hero-gold h1 { font-size: clamp(32px, 8.8vw, 54px); line-height: 1.1; }
  .hero-kicker { font-size: 16px; letter-spacing: .015em; }
  .focus-links a:nth-child(odd), .focus-links a { border-color: #89957455; }
  .original-work-section, .crew-section { padding: 52px 0; }
  .original-grid { gap: 30px; }
  .original-card:last-child>div { padding-top: 20px; }
  .original-card h3 { font-size: 27px; }
  .crew-grid { grid-template-columns: 1fr; gap: 30px; }
  .crew-card h3 { font-size: 27px; }
  .page-intro h1 { font-size: clamp(32px, 8.5vw, 49px); }
  .leadership-grid .leader-card h3 { font-size: 29px; }
  .section-top h2, .section-heading h2 { font-size: clamp(30px, 7.6vw, 38px); line-height: 1.18; }
}
@media (max-width: 360px) {
  .hero-gold h1 { font-size: 32px; }
  .leadership-grid .leader-card h3 { font-size: 26px; }
  .photo-brand, .gallery-open>.photo-brand { left: 10px; bottom: 10px; }
}
@media print {
  body { background: #fff; color: #000; }
  .photo-brand, .crew-section { display: none !important; }
  .page-intro, .leadership-grid .leader-card { background: #fff; color: #000; }
  .page-intro .eyebrow, .intro-copy, .leadership-grid .leader-card .leader-role,
  .leadership-grid .leader-links a, .leadership-grid .contact-download { color: #333; }
}
