/* September visual revision. The opening is native geometry and real footage. */

.visually-hidden,
#top #home-cover-title.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important;
}

[hidden] { display:none!important;
}

html { scroll-padding-top:100px;
}

.story-rail { display:none;
}

#top.nu-opening { min-height:110svh; background:#07070b;
}

#services { scroll-margin-top:76px; background:#f7f7f2; padding-top:85px;
}

#services .services-heading h2 { font-size:clamp(35px,4.8vw,74px); font-weight:440; letter-spacing:-.045em; line-height:1.08; text-transform:none!important;
}

#services .services-heading p { font-size:16px; line-height:1.6;
}

#services .service-nav { overflow:visible;
}

#services .service-tab { padding:24px 18px; min-height:104px; gap:12px;
}

#services .service-tab strong { font-size:clamp(17px,2.05vw,30px); font-weight:460; line-height:1.2; letter-spacing:-.03em; text-transform:none;
}

#services .service-tab.is-active { color:#153e3e; background:#d9e4dd; border-color:#90aea2;
}

#services .service-panel { margin-top:18px; border-radius:4px;
}

.nu-pillar-directory { padding-top:0; background:#f7f7f2;
}

.nu-pillar-directory a { padding:22px 0 10px;
}

/* A directory that accommodates a growing collective. */

#leaders { background:#10191a!important; color:#ebeee8!important; padding-block:100px;
}

#leaders .section-heading h2 { text-transform:none; font-size:clamp(36px,4.9vw,72px); font-weight:420; letter-spacing:-.05em; line-height:1.05;
}

#leaders .section-heading h2 { text-transform:none!important; font-weight:420!important;
}

#leaders .section-heading p { color:#a3b2ad; font-size:16px; line-height:1.65; max-width:370px;
}

#leaders .scene-label { color:#acbcb7; border-color:#ffffff22;
}

.nu-directory-tools { display:flex; justify-content:space-between; gap:20px; margin-top:44px; padding-block:18px; border-block:1px solid #ffffff20;
}

.nu-directory-tools>div { display:flex; gap:8px;
}

.nu-directory-tools button { min-height:44px; padding:10px 17px; color:#becbc5; border:1px solid transparent; background:transparent; border-radius:40px; font-size:13px;
}

.nu-directory-tools button[aria-pressed="true"] { color:#0b1818; background:#dce8df;
}

.nu-directory-tools button span { margin-left:8px; opacity:.55; font-size:10px;
}

.nu-directory-tools input { min-width:0; width:260px; padding:12px 16px; color:#e2eae5; background:#ffffff07; border:1px solid #ffffff25; border-radius:4px;
}

#leaders .leader-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:36px 22px; margin-top:35px; perspective:1200px;
}

#leaders .leader-card { position:relative!important; inset:auto!important; width:auto!important; margin:0!important; border:0; padding:0; border-radius:0; background:transparent; color:#e5eae4;
}

#leaders .leader-visual { aspect-ratio:4/4.5; border-radius:3px; transform:none; background:#1e2828;
}

#leaders .leader-visual img { object-fit:cover;
}

#leaders .leader-meta { display:block; margin-top:18px; padding:0;
}

#leaders .leader-meta span { color:#9daea6; font-size:9px; letter-spacing:.07em;
}

#leaders .leader-meta h3 { margin:7px 0; font-size:clamp(22px,2.2vw,30px); text-transform:none; font-weight:460; letter-spacing:-.025em;
}

#leaders .leader-meta b { display:none;
}

#leaders .leader-card p { margin:10px 0; color:#a4b4ad; font-size:13px; line-height:1.65;
}

/* One physical board moves into the corner. The document never reflows. */

.nu-chess-dock.nu-chess-game { position:fixed; left:18px; right:auto; top:auto; bottom:18px; width:310px; max-height:calc(100dvh - 115px); overflow:auto; z-index:75; padding:0; border-radius:12px; border:1px solid #adc9bc44; background:#101b1e; box-shadow:0 20px 60px #0008;
}

.nu-chess-dock:empty { display:none;
}

.nu-chess-dock #chess-match { max-width:none; padding:8px; background:#101b1e;
}

.nu-chess-dock .nu-chess-board { min-width:0; width:100%;
}

.nu-chess-dock #chess-match .nu-chess-piece { font-size:27px;
}

.nu-chess-dock .nu-chess-board-frame { padding:0;
}

.nu-chess-dock .nu-chess-tools button { padding:9px 4px; font-size:9px; min-height:36px;
}

.nu-chess-dock .nu-chess-status { font-size:9px; margin:8px 0 0;
}

.nu-chess-resume { left:18px; right:auto; z-index:75;
}

/* Guided routing leads into the existing, truthful meeting-request form. */

#reach-out { background:#e8eae2!important; color:#1c2c29!important; padding-block:100px;
}

#reach-out .meeting-heading h2 { color:#20362f!important;
}

#reach-out .meeting-heading h2 { text-transform:none!important;
}

#reach-out .scene-label { color:#647d72; border-color:#243d2e30;
}

#reach-out .meeting-heading h2 { text-transform:none; font-size:clamp(50px,8vw,116px); letter-spacing:-.07em; font-weight:430; color:#20362f;
}

#reach-out .meeting-heading p { color:#5c7167; font-size:18px; line-height:1.6;
}

.nu-guide-home { width:min(700px,100%); margin:44px auto 0;
}

.nu-guide { color:#dde5df; background:#102522; border:1px solid #67857855; border-radius:15px; box-shadow:0 20px 60px #0a1e1620; overflow:hidden; text-align:left;
}

.nu-guide>header { display:flex; align-items:center; gap:14px; padding:20px 24px; border-bottom:1px solid #ffffff16;
}

.nu-guide-symbol { display:grid; place-items:center; width:36px; height:36px; color:#f4f3ff; font-size:32px;
}

.nu-guide header strong { display:block; font-size:14px; font-weight:530;
}

.nu-guide header small { display:block; color:#a1b6aa; font-size:10px; margin-top:2px;
}

.nu-guide header button { margin-left:auto; width:40px; height:40px; border:0; border-radius:5px; background:#ffffff0b; color:#e2ebe2; font-size:25px;
}

.nu-guide-messages { padding:20px 24px 0; max-height:270px; overflow:auto; overscroll-behavior:contain;
}

.nu-guide-message { margin:0 0 15px; max-width:96%; font-size:15px; line-height:1.65; color:#d2e0d5;
}

.nu-guide-message.is-visitor { padding:10px 14px; margin-left:20px; border-radius:10px 10px 0 10px; background:#29423a; font-size:13px;
}

.nu-guide-options { display:flex; flex-wrap:wrap; gap:7px; padding:4px 24px 20px;
}

.nu-guide-options button,
.nu-guide-options a { min-height:42px; padding:10px 14px; border:1px solid #a4c1b23b; border-radius:7px; background:#ffffff05; color:#d1e3d5; font-size:12px; line-height:1.4; text-align:left;
}

.nu-guide-options button:hover,
.nu-guide-options a:hover { background:#b5d6bc; color:#142e23;
}

.nu-guide form { display:flex; gap:8px; margin:0 20px 14px; padding:6px; border:1px solid #ffffff25; border-radius:9px; background:#081815;
}

.nu-guide form input { flex:1; min-width:0; color:#e7ebe4; border:0; background:transparent; padding:10px 6px; font-size:13px;
}

.nu-guide form input::placeholder { color:#8fa397;
}

.nu-guide form button { width:44px; flex:none; border:0; border-radius:6px; color:#183b2a; background:#cfe2c7; font-size:22px;
}

.nu-guide>footer { padding:0 24px 18px; font-size:10px; color:#a1b5a9; line-height:1.5;
}

.nu-guide-dock { position:fixed; z-index:76; right:18px; bottom:18px; width:375px; max-height:calc(100dvh - 110px); overflow:auto; border-radius:15px;
}

.nu-guide-dock:empty { display:none;
}

.nu-guide-dock .nu-guide-messages { max-height:220px;
}

.nu-guide-resume { position:fixed; z-index:76; right:18px; bottom:18px; padding:15px 22px; min-height:48px; color:#ecebff; background:#232544; border:1px solid #9f9cec70; border-radius:30px; box-shadow:0 6px 20px #0003;
}

.nu-booking-direct { display:block; margin:26px auto 0; padding:14px; background:transparent; border:0; border-bottom:1px solid #638c7370; color:#31513e;
}

.booking-console { margin-top:40px; scroll-margin-top:100px;
}

.menu-open .nu-chess-dock,
.menu-open .nu-guide-dock,
.menu-open .nu-chess-resume,
.menu-open .nu-guide-resume { visibility:hidden; pointer-events:none;
}

/* Content-service refinement. Keep its existing film choreography intact. */

.is-studio-intro.service-brand-content .site-header { opacity:1; pointer-events:auto;
}

.service-brand-content #content-production { padding:85px var(--page)!important;
}

.service-brand-content #content-production::before,
.service-brand-content #content-production::after,
.service-brand-content .studio-continuum-map::before,
.service-brand-content .studio-continuum-map::after { display:none!important;
}

.service-brand-content #studio-continuum-title,
.service-brand-content #studio-continuum-title strong { text-transform:none!important; font-weight:430!important; font-size:clamp(38px,5vw,76px)!important;
}

.service-brand-content .studio-continuum-shell { display:grid; grid-template-columns:1fr; gap:44px;
}

.service-brand-content .studio-continuum-copy { max-width:820px;
}

.service-brand-content #studio-continuum-title { font-size:clamp(38px,5vw,76px); line-height:1.05; font-weight:430; text-transform:none; letter-spacing:-.045em;
}

.service-brand-content .studio-continuum-route { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px;
}

.service-brand-content .studio-continuum-map { min-height:0; height:auto; display:block; padding:0; background:none; border:0;
}

.service-brand-content .studio-continuum-orbit,
.service-brand-content .studio-continuum-core { display:none;
}

.service-brand-content .studio-continuum-nodes { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; position:static; margin:0; padding:0; height:auto;
}

.service-brand-content .studio-continuum-nodes li { position:static; inset:auto; width:auto; min-height:210px; margin:0; transform:none!important; opacity:1; padding:24px 18px; border:1px solid #bfd5ca38; border-radius:4px; background:#132422;
}

.service-brand-content .studio-continuum-nodes strong { font-size:17px; line-height:1.25;
}

.service-brand-content .studio-continuum-nodes small { display:block; font-size:12px; line-height:1.6; margin-top:17px; color:#aec5b8;
}

.service-brand-content .studio-continuum-nodes em { display:none;
}

@media(max-width:1020px) {
  #leaders .leader-grid { grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .service-brand-content .studio-continuum-nodes { grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .nu-chess-dock.nu-chess-game { width:285px;
  }
}

@media(max-width:700px) {
  #top.nu-opening {min-height:100svh;
  }

  #leaders .leader-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 15px;
  }

  #leaders .leader-meta h3 { font-size:22px;
  }

  .nu-directory-tools { flex-direction:column;
  }

  .nu-directory-tools input { width:100%;
  }

  .nu-directory-tools button { padding:10px 12px;
  }

  .nu-guide-dock { right:10px; bottom:10px; width:min(370px,calc(100vw - 20px)); max-height:65dvh;
  }

  .nu-chess-dock.nu-chess-game { width:265px; max-width:calc(100vw - 20px); max-height:65dvh; left:10px; bottom:10px;
  }

  .nu-chess-dock #chess-match .nu-chess-piece { font-size:23px;
  }

  .nu-guide>header { padding:14px 18px;
  }

  .nu-guide-messages { padding:16px 18px 0;
  }

  .nu-guide-options { padding:4px 18px 15px;
  }

  .nu-chess-resume { left:10px; padding:10px 15px; font-size:12px;
  }

  .nu-guide-resume { right:10px; padding:15px; font-size:12px;
  }

  .service-brand-content .studio-continuum-nodes { grid-template-columns:1fr;
  }

  .service-brand-content .studio-continuum-nodes li { min-height:0;
  }
}

@media(prefers-reduced-motion:reduce) {
  #top.nu-opening { min-height:100svh;
  }
}

/* Neutral glass, soft edges, and the original dark president chapter. */

#message .president-photo img { filter:none;
}

#leaders { background:#0b0c10!important;
}

#leaders .leader-visual { border-radius:22px; background:#131419;
}

#leaders .leader-meta h3 { display:flex;align-items:center;gap:10px;
}

#leaders .leader-meta .nu-identity-icon {display:inline-grid;place-items:center;flex:none;width:31px;height:31px;border-radius:10px;color:#e5e8ff;font-size:16px;letter-spacing:0;background:linear-gradient(135deg,#ffffff24,#ffffff05);border:1px solid #ffffff28;box-shadow:inset 0 1px 1px #ffffff30,0 4px 12px #0002;backdrop-filter:blur(12px);
}

#leaders .leader-meta span,
#leaders .leader-card p,
#leaders .section-heading p {color:#9d9da9;
}

.nu-directory-tools input {border-radius:30px;
}

.nu-directory-tools button[aria-pressed="true"] {background:#e6e6ed;color:#17171d;
}

#culture-game.nu-chess-game { background:radial-gradient(ellipse at 42% 48%,#333443 0%,#181921 35%,#090a0f 72%); padding-block:75px 110px;
}

#culture-game.nu-chess-game::before,
#culture-game.nu-chess-game::after {display:none;
}

#culture-game .nu-chess-header {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px;
}

#culture-game .nu-chess-header .nu-eyebrow {font-size:10px;letter-spacing:.13em;color:#a8a7b8;
}

#culture-game .nu-chess-header>p:not(.nu-eyebrow) {display:none;
}

#culture-game .nu-chess-header>a {color:#cccad8;font-size:12px;
}

#culture-game .nu-chess-arena {grid-template-columns:minmax(230px,300px) minmax(350px,550px);justify-content:start;gap:clamp(30px,5vw,85px);align-items:center;
}

#culture-game .nu-chess-roster {border:0;background:transparent;box-shadow:none;padding:0;
}

#culture-game .nu-chess-roster>button {border:1px solid transparent;background:transparent;grid-template-columns:52px 1fr;padding:8px 14px;gap:16px;border-radius:22px;min-height:76px;
}

#culture-game .nu-chess-roster>button.is-selected {background:linear-gradient(130deg,#ffffff18,#ffffff04);border-color:#ffffff20;box-shadow:inset 0 1px #ffffff20,0 8px 30px #0002;backdrop-filter:blur(20px);
}

#culture-game .nu-chess-roster>button img {width:48px;height:48px;border-radius:17px;border:1px solid #ffffff40;box-shadow:0 4px 16px #0004;filter:none;
}

#culture-game .nu-chess-roster>button strong {font-size:12px;font-weight:500;letter-spacing:.035em;
}

#culture-game .nu-chess-roster>p {font-size:9px;color:#91909f;padding:16px;
}

#culture-game .nu-chess-home {perspective:1600px;
}

#culture-game #chess-match {transform:rotateX(7deg) rotateZ(-2deg);animation:glass-board-float 8s ease-in-out infinite;
}

#culture-game.is-playing #chess-match:hover,
#culture-game #chess-match:focus-within {animation-play-state:paused;
}

#chess-match.nu-chess-table {border:1px solid #e6e3ff35;border-radius:26px;padding:18px;background:linear-gradient(145deg,#ffffff18,#bdb5ec07);backdrop-filter:blur(28px);box-shadow:inset 0 1px #ffffff40,0 35px 80px #0006,0 6px 0 #e6e1ff15;
}

#chess-match .nu-chess-board-frame {border:0;padding:0;background:transparent;box-shadow:none;
}

#chess-match .nu-chess-board {border:1px solid #ffffff20;border-radius:13px;overflow:hidden;box-shadow:0 0 25px #ccc4ff0c;
}

#chess-match .nu-chess-square.is-light {background:#d4d3e4ba;
}

#chess-match .nu-chess-square.is-dark {background:#414357b8;
}

#chess-match .nu-chess-tools {gap:5px;margin-top:15px;
}

#chess-match .nu-chess-tools button {border:0;border-radius:12px;background:#ffffff08;color:#ceccdc;font-weight:500;font-size:9px;letter-spacing:.04em;
}

#chess-match .nu-chess-status {color:#aaa8bc;font-size:9px;letter-spacing:.04em;
}

.nu-chess-dock.nu-chess-game {background:transparent;border:0;box-shadow:none;overflow:visible;border-radius:26px;
}

.nu-chess-dock.nu-chess-game:not(.is-travelling) {overflow:auto;
}

.nu-chess-dock #chess-match {background:linear-gradient(145deg,#292a3cec,#161721ef);padding:10px;transform:none;animation:none;box-shadow:0 20px 60px #0005;
}

.nu-chess-dockbar {border:0!important;color:#d6d3e6;
}

.nu-chess-resume {background:#242535e8!important;border-color:#ffffff30!important;color:#e5e2f4!important;backdrop-filter:blur(25px);
}

@keyframes glass-board-float {0%,100%{transform:translateY(0) rotateX(7deg) rotateZ(-2deg);}50%{transform:translateY(-12px) rotateX(5deg) rotateZ(-1deg);}
}

#reach-out {background:radial-gradient(ellipse at 50% 54%,#172a3d,#0c0d12 68%)!important;color:#f5f5f7!important;padding-block:110px 130px;
}

#reach-out .scene-label {color:#91919e;border-color:#ffffff20;
}

#reach-out .meeting-heading {text-align:center;display:block;margin-inline:auto;
}

#reach-out .meeting-heading h2 {color:#f5f5f7!important;font-size:clamp(54px,7vw,96px);letter-spacing:-.055em;line-height:1.04;font-weight:520;
}

#reach-out .meeting-heading p {color:#9b9ba8;font-size:17px;max-width:440px;margin:24px auto 0;
}

.nu-guide-home {width:min(660px,100%);margin:48px auto 0;
}

.nu-guide {color:#f5f5f7;background:linear-gradient(135deg,#ffffff12,#ffffff05);border:1px solid #ffffff26;border-radius:30px;box-shadow:inset 0 1px #ffffff18,0 20px 70px #0004;backdrop-filter:blur(40px) saturate(120%);
}

.nu-guide>header {border:0;padding:26px 28px 12px;gap:14px;
}

.nu-guide-symbol {width:45px;height:45px;border-radius:16px;background:radial-gradient(circle at 30% 20%,#dddeff,#9f9cec 40%,#7066a7 75%,#222536);box-shadow:inset 0 1px 2px #fff8,0 5px 22px #988cfe22;color:#faf9ff;font-size:30px;
}

.nu-guide header strong {font-size:15px;font-weight:500;letter-spacing:-.01em;
}

.nu-guide header small {color:#9793a8;font-size:10px;margin-top:5px;
}

.nu-guide-messages {padding:20px 28px 0;
}

.nu-guide-message {font-size:22px;font-weight:400;line-height:1.45;color:#edebf4;letter-spacing:-.025em;margin-bottom:25px;
}

.nu-guide-message.is-visitor {font-size:14px;background:#bdb5f51a;border:1px solid #bdb5f519;border-radius:20px 20px 5px 20px;letter-spacing:0;
}

.nu-guide-options {padding:0 28px 26px;gap:9px;
}

.nu-guide-options button,
.nu-guide-options a {border:1px solid #ffffff16;border-radius:30px;background:#ffffff07;color:#bab7c8;font-size:12px;padding:11px 15px;transition:background .2s,color .2s;
}

.nu-guide-options button:hover,
.nu-guide-options a:hover {background:#e4dffa;color:#252330;
}

.nu-guide form {margin:0 20px 16px;border-radius:24px;border:1px solid #ffffff20;background:#0c0c1370;padding:6px;
}

.nu-guide form input {padding:12px;color:#f2effc;font-size:14px;
}

.nu-guide form input::placeholder {color:#96919f;
}

.nu-guide form button {border-radius:50%;height:44px;width:44px;color:#242131;background:#e4dff5;
}

.nu-guide>footer {color:#87828f;font-size:10px;text-align:center;padding:0 20px 23px;
}

.nu-guide header button {border-radius:50%;
}

.nu-guide-dock {border-radius:30px;width:380px;
}

.nu-guide-dock .nu-guide {background:linear-gradient(135deg,#272633f2,#171720ed);
}

.nu-guide-dock .nu-guide-message {font-size:16px;
}

.nu-guide-resume {background:#2c293de8;color:#e6e0fa;border-color:#c7bbfa40;backdrop-filter:blur(30px);
}

.nu-booking-direct {color:#afabc0;border-color:#ffffff20;font-size:12px;
}

@media(max-width:700px) {
  #culture-game .nu-chess-arena {display:flex;flex-direction:column-reverse;gap:32px;
  }

  #culture-game .nu-chess-home {width:min(100%,450px);
  }

  #culture-game .nu-chess-roster {width:100%;display:flex;flex-wrap:wrap;gap:6px;
  }

  #culture-game .nu-chess-roster>button {width:calc(50% - 3px);grid-template-columns:36px 1fr;padding:8px;gap:8px;min-height:60px;
  }

  #culture-game .nu-chess-roster>button img {width:36px;height:36px;border-radius:12px;
  }

  #culture-game .nu-chess-roster>button strong {font-size:9px;
  }

  #culture-game .nu-chess-roster>p {width:100%;margin:0;padding:8px;
  }

  #culture-game .nu-chess-header {margin-bottom:26px;
  }

  .nu-chess-dock.nu-chess-game {max-height:65dvh;
  }

  #leaders .leader-meta h3 {font-size:20px;gap:7px;
  }

  #leaders .leader-meta .nu-identity-icon {width:25px;height:25px;border-radius:8px;font-size:12px;
  }

  .nu-guide>header {padding:22px 20px 10px;
  }

  .nu-guide-messages {padding:20px 20px 0;
  }

  .nu-guide-options {padding:0 20px 20px;
  }

  .nu-guide-message {font-size:20px;
  }

  .nu-guide-dock {width:calc(100vw - 20px);right:10px;bottom:10px;
  }
}

@media(prefers-reduced-motion:reduce) {
  #culture-game #chess-match {animation:none;transform:none;
  }
}

#culture-game .nu-chess-shell {display:block;width:min(1120px,100%);
}

#culture-game .nu-chess-arena {display:grid;
}

#culture-game .nu-chess-roster {display:block;grid-column:auto;grid-row:auto;align-self:center;
}

#culture-game .nu-chess-home {grid-column:auto;grid-row:auto;
}

#message .president-note {color:#a8afb8;
}

@media(max-width:700px) {
  #culture-game .nu-chess-arena {display:flex;
  }

  #culture-game .nu-chess-roster {display:flex;
  }
}

.nu-guide-dock.is-travelling {overflow:visible;
}

/* Temporary single-film opening. The final film can replace this source. */

#top.nu-opening {min-height:100svh;background:#09090d;
}

/* Primary service destination and neutral production cards. */

#services #service-page-link {display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:64px;padding:18px 26px;border:1px solid #9dceff;border-radius:12px;background:#b8e4ff;color:#15131c;font-size:clamp(17px,1.65vw,23px);font-weight:550;line-height:1.2;letter-spacing:-.025em;box-shadow:0 8px 28px #0002;transition:background .2s,transform .2s;
}

#services #service-page-link:hover {background:#e3f4ff;transform:translateY(-2px);
}

#services #service-page-link:focus-visible {outline:3px solid #fff;outline-offset:5px;
}

#services #service-page-link span {font-size:27px;
}

.service-brand-content .studio-continuum {background:#0c0c10;color:#f3f2f7;
}

.service-brand-content .studio-continuum-nodes li {background:#1b1b22;border-color:#ffffff24;color:#f3f2f7;
}

.service-brand-content .studio-continuum-nodes li p {color:#b9b8c4;
}

.service-brand-content #studio-continuum-title strong {color:#9bd9ff;
}

.service-brand-content .studio-continuum header p {color:#aaa9b5;
}

@media(max-width:700px) {
  #services #service-page-link {width:100%;padding:17px 20px;font-size:18px;
  }

  .nu-directory-tools {justify-content:flex-start;
  }
}

/* A single continuous composition: the idea, the identity, the work. */

#top.nu-opening {min-height:100svh;
}

/* Black glass: a restrained silver edge, with light that passes through once. */

#message { background:#09090c;
}

#message .president-photo,
#services .service-panel,
#leaders .leader-visual {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid #ffffff24;
  box-shadow:inset 0 1px 0 #ffffff22,0 18px 48px #0005;
}

#message .president-photo { border-radius:22px;
}

#message .president-copy { border-top:1px solid #ffffff26; background:linear-gradient(155deg,#ffffff08,transparent 48%);
}

#services { background:#f7f7f2; color:#17171d;
}

#services .services-heading h2 {color:#17171d;
}

#services .scene-label,
#services .services-heading p { color:#686873; border-color:#17171d24;
}

#services .service-tab { color:#bebec8; background:linear-gradient(145deg,#ffffff09,#ffffff02),#0b0b0e; border-color:#ffffff20; border-radius:14px; box-shadow:inset 0 1px 0 #ffffff12;
}

#services .service-tab.is-active { color:#fff; background:linear-gradient(140deg,#303038,#17171c 75%); border-color:#ffffff54; box-shadow:inset 0 1px 0 #ffffff35,0 10px 24px #0004;
}

#services .service-tab:hover { border-color:#ffffff70;
}

#services .service-panel { border-radius:22px; background:linear-gradient(145deg,#202026,#0e0e12 65%); color:#f4f4f6;
}

#services .service-panel-top,
#services .service-fit,
#services .deliverable-label,
#services #service-copy { color:#b9b9c3;
}

#services .deliverable-grid span { color:#d9d9e0; border-color:#ffffff20; background:#ffffff05;
}

#services .service-scope-link { color:#d8d8df;
}

.nu-pillar-directory { background:#0b0b0e; color:#f1f1f4;
}

.nu-pillar-directory a { border-color:#ffffff24; color:inherit;
}

.nu-pillar-directory a span,
.nu-pillar-directory a b { color:#b0b0bb;
}

#leaders .leader-visual { transition:box-shadow .3s,border-color .3s;
}

#leaders .leader-card:hover .leader-visual,
#leaders .leader-card:focus-visible .leader-visual { border-color:#ffffff65; box-shadow:inset 0 1px 0 #ffffff44,0 18px 45px #0008;
}

/* Replace the scroll-driven full-card glare; keep the existing card flight. */

#leaders .leader-card::after { display:none;
}

.nu-gloss-sweep { position:absolute; z-index:9; inset:-40% -70%; pointer-events:none; opacity:0; background:linear-gradient(110deg,transparent 40%,#ffffff04 44%,#ffffff35 49%,#ffffff0b 53%,transparent 58%); transform:translate3d(-65%,0,0);
}

@media(prefers-reduced-motion:reduce) {
  .nu-gloss-sweep {display:none;
  }
}

/* Blue leads the navigation and action accents; violet remains a fine detail. */

#services .service-tab.is-active {border-color:#85c9ff80;box-shadow:inset 0 1px 0 #b8eaff55,0 10px 24px #0004;
}

#leaders .leader-meta .nu-identity-icon {color:#b8eaff;border-color:#8bcfff40;
}

.nu-guide-options button {border-color:#85c9ff38;
}

.nu-guide-options button:hover {border-color:#85c9ff88;
}
/* The guide mark is drawn inline so no platform swaps in a coloured emoji. */
.nu-asterisk { display:inline-block; flex:none; vertical-align:-.1em; }
.nu-guide-symbol .nu-asterisk { width:22px; height:22px; }
.nu-guide-resume .nu-asterisk { width:14px; height:14px; margin-right:7px; vertical-align:-2px; }
