@import url('fonts.2443496a2c09.css');

:root {
  --night: #111;
  --deep: #202020;
  --panel: #292929;
  --ink: #fff;
  --muted: #ccc;
  --blue: #fff;
  --electric: #ddd;
  --copper: #bbb;
  --line: #777;
  --display: Georgia, 'Times New Roman', serif;
  --body: Arial, Helvetica, sans-serif;
  --mono: 'IBM Plex Mono', monospace;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.persona-corporate { margin: 0; background: #e9e9e9; color: #111; font-family: Arial, Helvetica, sans-serif; filter: grayscale(1); }
body.persona-corporate a { color: inherit; }
body.persona-corporate .skip-link { position: absolute; left: 16px; top: -90px; z-index: 200; padding: 12px; background: #111; color: #fff; }
body.persona-corporate .skip-link:focus { top: 16px; }
.persona-corporate :is(a, button, summary):focus-visible { outline: 3px solid #555; outline-offset: 3px; }

.persona-corporate .persona-header { position: relative; z-index: 100; display: flex; align-items: center; gap: clamp(16px, 2vw, 36px); min-height: 76px; padding: 10px clamp(18px, 3vw, 55px); background: #fff; color: #111; border-top: 8px solid #111; border-bottom: 2px solid #111; box-shadow: 0 8px 0 #bbb; }
.persona-corporate .persona-header a { text-decoration: none; }
.persona-corporate .persona-brand { flex: none; font: bold 29px Georgia, serif; letter-spacing: -.06em; }
.persona-corporate .persona-brand span { display: block; font: bold 9px/1.2 Arial, sans-serif; letter-spacing: .14em; }
.persona-corporate .persona-primary { display: flex; gap: clamp(9px, 1.2vw, 23px); margin-left: auto; }
.persona-corporate .persona-primary a, .persona-corporate .persona-switch, .persona-corporate .persona-directory summary { font: bold 10px Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.persona-corporate .persona-primary a { padding: 9px 2px; border-bottom: 2px solid transparent; }
.persona-corporate .persona-primary a:hover, .persona-corporate .persona-primary a[aria-current] { border-color: #111; }
.persona-corporate .persona-directory { position: relative; flex: none; }
.persona-corporate .persona-directory summary { list-style: none; cursor: pointer; padding: 12px; border: 1px solid #111; }
.persona-corporate .persona-directory summary::-webkit-details-marker { display: none; }
.persona-corporate .persona-directory nav { position: absolute; right: 0; top: calc(100% + 8px); display: grid; grid-template-columns: repeat(2, minmax(170px, 1fr)); width: max-content; max-width: min(90vw, 440px); padding: 12px; background: #fff; border: 2px solid #111; box-shadow: 8px 8px 0 #888; }
.persona-corporate .persona-directory nav a { padding: 9px 11px; font: bold 12px Arial, sans-serif; }
.persona-corporate .persona-directory nav a:hover, .persona-corporate .persona-directory nav a[aria-current] { color: #fff; background: #111; }
.persona-corporate .persona-switch { flex: none; border-left: 1px solid #aaa; padding-left: 16px; }
.persona-corporate .persona-switch:hover { text-decoration: underline; }
.persona-corporate .persona-newswire { overflow: hidden; padding: 8px 20px; background: #111; color: #eee; border-bottom: 1px solid #777; font: bold 10px 'IBM Plex Mono', monospace; letter-spacing: .11em; text-align: center; white-space: nowrap; }

.persona-corporate .persona-banner { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 10px 30px; min-height: 260px; padding: 52px clamp(22px, 6vw, 105px); background: repeating-linear-gradient(90deg, transparent 0 80px, #00000008 80px 81px), #dedede; border-bottom: 8px solid #111; overflow: hidden; }
.persona-corporate .persona-banner::after { content: 'GE&A'; position: absolute; right: 4vw; top: -110px; color: #0000000a; font: bold 340px/.8 Georgia, serif; pointer-events: none; }
.persona-corporate .persona-banner p { grid-column: 1/-1; margin: 0; font: bold 11px 'IBM Plex Mono', monospace; letter-spacing: .16em; }
.persona-corporate .persona-banner h1 { position: relative; z-index: 1; max-width: 1050px; margin: 12px 0 0; font: 700 clamp(45px, 6vw, 88px)/.98 Georgia, serif; letter-spacing: -.055em; text-transform: none; }
.persona-corporate .persona-banner > span { position: relative; z-index: 1; max-width: 230px; padding: 15px 0 0; border-top: 1px solid #555; font: 13px/1.45 Arial, sans-serif; }
.persona-corporate main { background: #111; color: #fff; }
.persona-corporate main :is(img, video, canvas) { filter: grayscale(1); }
.persona-corporate main :is(.projects-atmosphere, .scene-image, .section-image) { filter: grayscale(1); }
.persona-corporate .review-float { display: none !important; }
.persona-corporate footer:not(.persona-footer) { background: #111; color: #fff; }
.persona-corporate .persona-footer { display: flex; justify-content: space-between; gap: 20px; padding: 25px clamp(22px, 5vw, 80px); background: #fff; border-top: 2px solid #111; font: bold 10px Arial, sans-serif; letter-spacing: .11em; }

.persona-corporate.persona-home main { background: #e9e9e9; color: #111; }
.persona-corporate .home-stage { position: relative; display: grid; grid-template-columns: 1fr 42%; min-height: min(700px, calc(100svh - 76px)); overflow: hidden; background: #171717; color: #fff; }
.persona-corporate .home-copy { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; padding: clamp(35px, 6vw, 100px); }
.persona-corporate .persona-kicker { font: bold 11px 'IBM Plex Mono', monospace; letter-spacing: .18em; }
.persona-corporate .home-copy h1 { margin: 28px 0 18px; font: bold clamp(66px, 8vw, 145px)/.84 Georgia, serif; letter-spacing: -.065em; }
.persona-corporate .home-copy h1 span { display: inline-block; margin-left: 6px; vertical-align: top; font: bold 22px Arial, sans-serif; letter-spacing: 0; }
.persona-corporate .home-lead { max-width: 800px; font: bold clamp(20px, 2.4vw, 34px)/1.2 Arial, sans-serif; }
.persona-corporate .home-support { max-width: 720px; color: #c7c7c7; font: 16px/1.55 Arial, sans-serif; }
.persona-corporate .home-start { align-self: flex-start; margin-top: 28px; padding: 17px 23px; background: #fff; color: #111; font: bold 11px Arial, sans-serif; letter-spacing: .1em; text-decoration: none; }
.persona-corporate .home-start:hover { background: #ddd; }
.persona-corporate .home-visual { position: relative; background: linear-gradient(90deg, #111 0%, transparent 22%), url('assets/corporate-handshake.3044f83786e1.webp') center/cover; filter: grayscale(1) contrast(1.1); }
.persona-corporate .corp-figures { position: absolute; right: 22px; bottom: 20px; display: flex; align-items: stretch; gap: 10px; }
.persona-corporate .corp-figures > div { display: flex; flex-direction: column; justify-content: center; width: 143px; min-height: 132px; padding: 13px; background: #fff; color: #111; border: 2px solid #111; box-shadow: 5px 5px 0 #555; }
.persona-corporate .commitment-figure { align-items: center; text-align: center; }
.persona-corporate .commitment-figure i { display: grid; place-items: center; width: 72px; height: 72px; border: 11px solid #111; border-radius: 50%; font: bold 16px Arial, sans-serif; font-style: normal; }
.persona-corporate .commitment-figure b, .persona-corporate .org-figure b { margin-top: 8px; font: bold 9px Arial, sans-serif; letter-spacing: .08em; }
.persona-corporate .org-figure { text-align: center; }
.persona-corporate .org-figure span { display: block; padding: 5px; border: 1px solid #111; font: bold 8px Arial, sans-serif; }
.persona-corporate .org-figure i { font: 16px Arial, sans-serif; font-style: normal; }
.persona-corporate .local-signup { display: grid; gap: 14px; margin: 25px 0; padding: 20px; border: 2px solid #fff; }
.persona-corporate .local-signup a { display: inline-block; width: max-content; padding: 10px 15px; background: #fff; color: #111; text-decoration: none; }
.persona-corporate.persona-route-contact .pitch-shell,
.persona-corporate.persona-route-contact .stage { height: calc(100svh - 103px); min-height: 500px; }
.persona-corporate.persona-route-contact .visual-slide { filter: grayscale(1); }
.persona-corporate.persona-route-contact .visual-content h2 { font-family: 'Barlow Condensed', Impact, sans-serif; }
.persona-corporate .portal { padding: clamp(50px, 6vw, 95px) clamp(22px, 5vw, 90px) 100px; }
.persona-corporate .portal-heading { display: grid; grid-template-columns: 1fr 2fr; align-items: end; gap: 0 25px; padding-bottom: 22px; border-bottom: 5px solid #111; }
.persona-corporate .portal-heading span { font: bold 10px 'IBM Plex Mono', monospace; letter-spacing: .15em; }
.persona-corporate .portal-heading h2 { grid-column: 1; margin: 12px 0 0; font: 62px/.95 Georgia, serif; letter-spacing: -.05em; }
.persona-corporate .portal-heading p { grid-column: 2; grid-row: 1/3; max-width: 420px; margin: 0; color: #555; font-size: 18px; }
.persona-corporate .portal-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; margin-top: 24px; background: #aaa; border: 1px solid #aaa; }
.persona-corporate .portal-card { position: relative; display: flex; flex-direction: column; gap: 20px; min-height: 170px; padding: 22px; background: #fff; color: #111; text-decoration: none; }
.persona-corporate .portal-card:hover { background: #111; color: #fff; }
.persona-corporate .portal-card small { font: bold 9px 'IBM Plex Mono', monospace; letter-spacing: .09em; }
.persona-corporate .portal-card strong { margin-top: auto; font: 28px Georgia, serif; }
.persona-corporate .portal-card > span { position: absolute; right: 20px; bottom: 19px; }

/* Georgia is wider than the main site's display face; keep each About title in its panel. */
.persona-corporate.about-page .about-card-side h3 {
  max-width: 100%;
  font-size: clamp(27px, 2.4vw, 45px);
  line-height: .98;
  letter-spacing: -.055em;
  text-wrap: balance;
}

@media (max-width: 1050px) {
  .persona-corporate .persona-primary { display: none; }
  .persona-corporate .persona-directory { margin-left: auto; }
  .persona-corporate .portal-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 700px) {
  .persona-corporate .persona-header { gap: 12px; min-height: 68px; }
  .persona-corporate .persona-brand { font-size: 23px; }
  .persona-corporate .persona-brand span { font-size: 7px; }
  .persona-corporate .persona-switch { display: none; }
  .persona-corporate .persona-directory nav { right: -10px; grid-template-columns: 1fr; width: min(85vw, 300px); max-height: 70vh; overflow-y: auto; }
  .persona-corporate .persona-banner { display: block; min-height: 0; padding: 40px 22px; }
  .persona-corporate .persona-banner h1 { font-size: clamp(38px, 11vw, 60px); }
  .persona-corporate .persona-banner > span { display: block; max-width: none; margin-top: 27px; }
  .persona-corporate .home-stage { display: flex; min-height: 650px; }
  .persona-corporate .home-copy { padding: 70px 24px; }
  .persona-corporate .home-copy h1 { font-size: clamp(56px, 15vw, 96px); }
  .persona-corporate .home-visual { position: absolute; inset: 0; opacity: .36; }
  .persona-corporate .corp-figures { display: none; }
  .persona-corporate .portal-heading { display: block; }
  .persona-corporate .portal-heading h2 { font-size: 48px; }
  .persona-corporate .portal-heading p { margin-top: 16px; }
  .persona-corporate .portal-grid { grid-template-columns: repeat(2, 1fr); }
  .persona-corporate .portal-card { min-height: 145px; padding: 15px; }
  .persona-corporate .portal-card strong { font-size: 23px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* The main site's chapter content stays complete, but fits beneath this site's masthead. */
.persona-corporate:has(.slide-deck) { height: auto; overflow: auto; }
.persona-corporate .persona-banner:has(+ .slide-deck) { min-height: 190px; padding-top: 30px; padding-bottom: 30px; }
.persona-corporate .persona-banner:has(+ .slide-deck) h1 { font-size: clamp(37px, 4.5vw, 65px); }
.persona-corporate .slide-deck { height: max(500px, calc(100svh - 295px)); }
.persona-corporate .deck-slide { height: 100%; min-height: 0; overflow-y: auto; }
.persona-corporate .proof-intro,
.persona-corporate .proof-shot,
.persona-corporate .proof-close { padding: 55px clamp(35px, 8vw, 145px); background: #efefef !important; color: #111; }
.persona-corporate .proof-shot:nth-child(odd) { background: #d5d5d5 !important; }
.persona-corporate .proof-intro .section-heading h1 { font: bold clamp(50px, 6vw, 90px)/.94 Georgia, serif; }
.persona-corporate .proof-intro .section-heading h1 em { color: #555; }
.persona-corporate .proof-intro .section-heading > p:last-child,
.persona-corporate .proof-shot .proof-description p,
.persona-corporate .proof-shot .proof-description small { color: #333; }
.persona-corporate .proof-shot .proof-number { color: #111; font-size: clamp(100px, 11vw, 170px); }
.persona-corporate .proof-shot .proof-description h3 { font: bold clamp(36px, 4vw, 60px)/1 Georgia, serif; }
.persona-corporate .proof-close .proof-footer p { color: #111; font: clamp(21px, 2.4vw, 34px)/1.3 Georgia, serif; }
.persona-corporate .slide-nav button { background: #111; color: #fff; border-color: #111; }
.persona-corporate .slide-nav [data-slide-count] { background: #111; color: #fff; }
.persona-corporate .slide-nav-hint { color: #333; }
.persona-corporate.roles-page { height: auto; overflow: auto; }
.persona-corporate.roles-page #main,
.persona-corporate.roles-page .roles { height: auto; min-height: 650px; overflow: visible; }
.persona-corporate.roles-page .roles { padding-top: 70px; padding-bottom: 100px; }
@media (max-width: 700px) {
  .persona-corporate .persona-banner:has(+ .slide-deck) { min-height: 0; }
  .persona-corporate .slide-deck { height: max(510px, calc(100svh - 300px)); }
  .persona-corporate .proof-intro,
  .persona-corporate .proof-shot,
  .persona-corporate .proof-close { padding: 35px 24px 85px; }
  .persona-corporate .proof-intro .section-heading h1 { font-size: clamp(39px, 10vw, 65px); }
}
