/* Draft-aligned public components; use the site's existing palette in both themes. */
.website { --card-shadow: 0 10px 30px -12px rgba(14,16,48,.22); }
html[data-theme=dark] .website { --ink: #06071a; --violet: #8c76ff; --card-shadow: 0 10px 30px -12px rgba(0,0,0,.6); }
.website .wrap, .website .nav-wrap { max-width: 1168px; width: calc(100% - 32px); }
.website .nav-wrap { height: 68px; gap: 16px; }
.site-hero.home-hero, .site-hero.insight-hero, .site-hero:has(.photo-sphere) { padding: 64px 0 72px; }
.site-hero.home-hero .hero-layout, .site-hero.insight-hero .hero-layout, .site-hero:has(.photo-sphere) .hero-layout { grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: 48px; }
.site-hero.home-hero .hero-copy h1, .site-hero.insight-hero .hero-copy h1 { font-size: clamp(2.1rem,4.6vw,3.5rem); line-height: 1.1; letter-spacing: -.03em; }
.home-hero h1 em { display: inline-block; min-width: 6ch; }
.home-hero .hero-copy > p { font-size: 18px; line-height: 1.7; margin-top: 24px; }
.hero-glow { position: absolute; inset: 0; overflow: hidden; pointer-events: none; mask-image: linear-gradient(#000 70%,transparent); }
.hero-glow i { position: absolute; border-radius: 50%; opacity: .6; }
.hero-glow i:nth-child(1) { width: 46vw; height: 46vw; max-width: 640px; max-height: 640px; right: -8vw; top: -18vw; background: radial-gradient(circle closest-side,#5b3df5f2,#5b3df559 45%,transparent); animation: glow-violet 22s ease-in-out infinite alternate; }
.hero-glow i:nth-child(2) { width: 38vw; height: 38vw; max-width: 520px; max-height: 520px; right: 18vw; bottom: -22vw; opacity: .42; background: radial-gradient(circle closest-side,#00a88fe6,#00a88f4d 45%,transparent); animation: glow-mint 26s ease-in-out infinite alternate; }
.hero-glow i:nth-child(3) { width: 30vw; height: 30vw; max-width: 420px; max-height: 420px; left: -10vw; top: -12vw; opacity: .3; background: radial-gradient(circle closest-side,#2f6fb3e6,#2f6fb34d 45%,transparent); animation: glow-blue 30s ease-in-out infinite alternate; }
.hero-scan { position: absolute; inset: 0 0 auto; height: 1px; background: linear-gradient(90deg,transparent,#2bcbb18c,transparent); opacity: .6; animation: hero-scan 9s linear infinite; }
@keyframes glow-violet { to { transform: translate(-9vw,7vw) scale(1.15); } }
@keyframes glow-mint { to { transform: translate(10vw,-6vw) scale(.9); } }
@keyframes glow-blue { to { transform: translate(8vw,6vw) scale(1.2); } }
@keyframes hero-scan { to { transform: translateY(900px); } }
@media (prefers-reduced-motion:reduce) { .hero-glow i { animation: none; } .hero-scan { display: none; } }
.spread {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.note {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.7;
}
.chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.choice-chip,
.skill-tag,
.shortlist-remove {
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--surface);
  font-size: 12px;
  line-height: 1.5;
}
.choice-chip:hover,
.choice-chip[aria-pressed="true"] {
  border-color: var(--violet);
  background: var(--violet-soft);
  color: var(--violet);
}
.choice-chip[aria-pressed="true"] {
  box-shadow: inset 0 0 0 1px var(--violet);
}
.skill-tag {
  background: var(--tint);
  color: var(--muted);
  border: 0;
}
.compact-hero {
  padding: 45px 0;
}
.compact-hero .hero-copy h1 {
  font-size: clamp(34px, 4vw, 50px);
  margin-top: 16px;
}
.breadcrumb {
  color: #c5b8ff;
  font-size: 13px;
}
.shortlist-glass {
  padding: 22px;
  border: 1px solid #ffffff24;
  border-radius: 20px;
  background: #1c1c43;
  backdrop-filter: blur(8px);
}
.shortlist-glass > .spread {
  font-size: 14px;
  margin-bottom: 20px;
}
.match-badge {
  color: #80e6ce;
  background: #00a88f25;
  border-radius: 20px;
  padding: 4px 9px;
  font-size: 11px;
  white-space: nowrap;
}
.mini-expert {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 0;
}
.mini-expert > div {
  flex: 1;
  min-width: 0;
}
.mini-expert strong {
  display: block;
  font-size: 13px;
  line-height: 1.5;
}
.mini-expert small {
  display: block;
  font-size: 11px;
  opacity: 0.7;
  margin-top: 4px;
}
.mini-expert .match-badge {
  margin-left: auto;
}
.shortlist-glass .mini-expert {
  padding: 12px;
  background: #ffffff0d;
  border-radius: 12px;
  margin-top: 10px;
}
.shortlist-glass .expert-avatar { border-radius: 50%; }
.expert-avatar {
  width: 44px;
  height: 44px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  color: white;
  font-size: 13px;
  font-weight: 700;
  flex: none;
}
.shortlist-glass > .button {
  width: 100%;
  margin-top: 18px;
}
.shortlist-disclaimer {
  display: block;
  color: #b9b8d2;
  font-size: 10px;
  text-align: center;
  margin-top: 12px;
}
.service-subpoints {
  padding: 0;
  list-style: none;
  margin: 14px 0;
  color: var(--muted);
  font-size: 12px;
}
.service-subpoints li {
  display: flex;
  align-items: start;
  gap: 8px;
  margin-top: 8px;
}
.service-subpoints svg {
  margin-top: 3px;
  color: var(--teal);
}
.success-card {
  display: flex;
  flex-direction: column;
}
.success-card .text-link {
  margin-top: auto;
  padding-top: 20px;
}
.trusted-heading {
  text-align: center;
  margin-bottom: 26px;
}
.success-card > img {
  background: white;
  border-radius: 8px;
  padding: 5px;
  align-self: flex-start;
}
.consulting-roles {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.consulting-roles .role-card {
  display: block;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 23px;
  background: var(--surface);
}
.consulting-roles h3 {
  font-size: 16px;
  line-height: 1.5;
  margin: 18px 0 8px;
}
.consulting-roles p {
  font-size: 13px;
  color: var(--muted);
}
.engagement-duration {
  font-size: 12px;
  color: var(--teal);
}
.expert-search {
  display: flex;
  gap: 10px;
  max-width: 800px;
  margin-top: 25px;
  padding: 7px;
  border-radius: 18px;
  background: #fff;
}
.expert-search input {
  flex: 1;
  width: 0;
  padding: 10px;
  border: 0;
  border-radius: 10px;
  background: white;
  color: #14162e;
  font-size: 15px;
}
.expert-search .button {
  border-radius: 12px;
  white-space: nowrap;
}
.site-hero .search-note {
  margin: 10px 0 19px;
  font-size: 12px;
  color: #bbb8d1;
}
.site-hero .choice-chip {
  border-color: #ffffff35;
  background: #ffffff08;
  color: white;
}
.site-hero .choice-chip:hover {
  background: #ffffff1c;
}
.directory-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 30px;
  align-items: start;
}
.directory-filters {
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--surface);
  position: sticky;
  top: 100px;
}
.directory-filters fieldset {
  border: 0;
  padding: 0;
  margin: 22px 0;
}
.directory-filters legend {
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 10px;
}
.experience-filter {
  font-size: 13px;
  display: block;
}
.experience-filter input {
  display: block;
  width: 100%;
  margin-top: 16px;
  accent-color: var(--violet);
}
.filter-toggle {
  display: none;
}
.directory-results > .spread {
  align-items: start;
}
.directory-results > .spread > .note {
  max-width: 490px;
}
.sort-label {
  font-size: 11px;
  flex: none;
  display: grid;
  gap: 5px;
}
.sort-label select {
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--surface);
  color: var(--text);
  padding: 7px;
  font-size: 12px;
}
.result-count {
  font-size: 13px;
  color: var(--muted);
  margin: 10px 0 18px;
}
.expert-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.expert-card {
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 20px;
  padding: 23px;
  display: flex;
  flex-direction: column;
  gap: 17px;
}
.expert-heading {
  display: flex;
  gap: 13px;
  align-items: start;
}
.expert-heading h2 {
  font-size: 16px;
  line-height: 1.4;
}
.expert-heading p,
.expert-heading small {
  font-size: 11px;
  color: var(--muted);
}
.expert-card .chip-row {
  flex: 1;
}
.expert-availability {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 11px;
  color: var(--muted);
}
.expert-availability strong {
  color: var(--teal);
}
.expert-card .inline-actions {
  gap: 8px;
}
.expert-card .button {
  flex: 1;
  padding: 10px;
}
.expert-card [aria-pressed="true"] {
  background: var(--teal);
  color: white;
}
.directory-empty {
  grid-column: 1/-1;
  padding: 40px 25px;
  text-align: center;
  border: 1px dashed var(--line);
  border-radius: 20px;
}
.directory-empty p {
  color: var(--muted);
  margin: 15px 0 25px;
}
.directory-empty .button {
  margin: 5px;
}
.directory-band {
  padding-top: 40px;
  padding-bottom: 120px;
}
.shortlist-tray {
  position: fixed;
  z-index: 45;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  max-width: calc(100% - 180px);
  display: flex;
  align-items: center;
  gap: 20px;
  background: var(--ink);
  color: white;
  border: 1px solid #ffffff30;
  box-shadow: 0 14px 45px #0004;
  border-radius: 22px;
  padding: 16px 22px;
}
.shortlist-tray strong {
  font-size: 12px;
}
.shortlist-tray .chip-row {
  margin-top: 5px;
  gap: 5px;
}
.shortlist-remove {
  background: #ffffff15;
  border-color: #ffffff30;
  color: white;
  font-size: 10px;
  padding: 4px 8px;
}
.directory-notice {
  position: fixed;
  z-index: 47;
  bottom: 130px;
  left: 50%;
  transform: translateX(-50%);
  width: min(90%, 500px);
  background: var(--surface);
  border: 1px solid var(--line);
  padding: 16px;
  border-radius: 12px;
  box-shadow: 0 8px 35px #0003;
}
.public-dialog {
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 24px;
  width: 650px;
  max-width: calc(100vw - 32px);
  max-height: calc(100dvh - 40px);
  padding: 36px;
  box-shadow: 0 25px 100px #0005;
  overflow: auto;
}
.public-dialog::backdrop {
  background: #07081bb3;
  backdrop-filter: blur(4px);
}
.reader-open { overflow: hidden; scrollbar-gutter: stable; }
.public-dialog.reader-dialog { width: 900px; padding: 0; }
.reader-toolbar { position: sticky; top: 0; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 24px; background: var(--surface); border-bottom: 1px solid var(--line); z-index: 1; }
.reader-content { padding: 28px; }
.reader-intro { margin-bottom: 28px; }
.reader-content .article-body { width: auto; max-width: none; }
.reader-content .article-body h2 { font-size: 23px; }
.public-dialog h2 {
  font-size: 26px;
  line-height: 1.3;
  padding-right: 22px;
  margin-bottom: 18px;
}
.public-dialog h3 {
  font-size: 16px;
  margin: 22px 0 12px;
}
.public-dialog p {
  margin: 12px 0;
  color: var(--muted);
}
.public-dialog ul {
  padding-left: 20px;
  color: var(--muted);
  font-size: 14px;
}
.public-dialog .inline-actions {
  margin-top: 25px;
}
.dialog-close {
  position: absolute;
  top: 12px;
  right: 14px;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  font-size: 26px;
  line-height: 1;
  background: var(--tint);
}
.compare-dialog {
  width: 1000px;
}
.comparison-scroll {
  overflow: auto;
  margin: 25px 0;
}
.comparison-scroll table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.comparison-scroll th,
.comparison-scroll td {
  padding: 15px;
  border: 1px solid var(--line);
  text-align: left;
  min-width: 140px;
}
.comparison-scroll th {
  background: var(--tint);
}
.requirement-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr);
  gap: 30px;
  align-items: start;
}
.requirement-form {
  scroll-margin-top: 100px;
}
.requirement-form fieldset {
  border: 0;
  padding: 0;
  min-width: 0;
}
.requirement-form legend {
  font-size: 23px;
  line-height: 1.4;
  font-weight: 650;
  margin-bottom: 28px;
}
.wizard-progress {
  display: flex;
  list-style: none;
  padding: 0 0 27px;
  gap: 8px;
  margin: 0 0 32px;
  border-bottom: 1px solid var(--line);
}
.wizard-progress li {
  display: flex;
  flex: 1;
  border-top: 4px solid var(--line);
  padding-top: 9px;
  font-size: 11px;
  color: var(--muted);
}
.wizard-progress [aria-current="step"] {
  color: var(--violet);
  font-weight: 600;
  border-color: var(--violet);
}
.wizard-progress .complete {
  border-color: var(--teal);
  color: var(--teal);
}
.expertise-group {
  margin: 22px 0;
}
.expertise-group h3 {
  font-size: 13px;
  margin-bottom: 12px;
}
.wizard-navigation {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  margin-top: 30px;
}
.wizard-navigation > .primary {
  margin-left: auto;
}
.requirement-form input[type="range"] {
  padding: 0;
  accent-color: var(--violet);
  border: 0;
}
.requirement-summary {
  position: sticky;
  top: 100px;
}
.summary-card {
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 22px;
  padding: 26px;
}
.summary-card h2 {
  font-size: 22px;
  line-height: 1.4;
}
.summary-card p {
  font-size: 13px;
  color: var(--muted);
  margin: 15px 0;
}
.summary-card > strong,
.summary-card > small {
  font-size: 12px;
}
.summary-card hr {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 24px 0;
}
.summary-card .eyebrow {
  font-size: 11px;
  margin-bottom: 12px;
}
.next-steps {
  padding: 26px;
  font-size: 13px;
  color: var(--muted);
}
.next-steps h3 {
  font-size: 16px;
  color: var(--text);
}
.next-steps ul {
  padding: 15px 0 15px 20px;
}
.honeypot {
  display: none !important;
}
.linkedin-import {
  background: #0a66c2;
  color: white;
}
.business-glass .linkedin-import {
  margin: 20px 0;
  width: 100%;
}
.business-glass > p {
  font-size: 13px;
  color: #b9b8d2;
}
.import-file {
  display: grid;
  gap: 12px;
  font-size: 14px;
  margin-top: 22px;
}
.import-file input {
  max-width: 100%;
}
.leaders-grid.draft-leaders {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}
.draft-leaders > article {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 24px;
  gap: 18px;
}
.leaders-grid.draft-leaders > article > img {
  width: 70px;
  height: 80px;
  aspect-ratio: auto;
  border-radius: 12px;
  object-position: top;
}
.leaders-grid.draft-leaders > article > div {
  padding: 0;
  min-width: 0;
}
.leaders-grid.draft-leaders h3 {
  font-size: 17px;
  white-space: normal;
}
.leaders-grid.draft-leaders > article > div > p {
  font-size: 13px;
  line-height: 1.7;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 12px 0;
}
.leader-experience { display: block; margin-top: 10px; font-size: 12px; color: var(--muted); }
.leader-swipe-hint { display: none; }
.draft-leaders > article > div > span { color: var(--violet); }
.draft-leaders .text-link {
  font-size: 12px;
}
.draft-leaders .inline-actions {
  gap: 15px;
}
.draft-leaders .linkedin-link {
  margin-top: 0;
}
.leader-biography p {
  white-space: pre-line;
  font-size: 14px;
}
.team-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
}
.team-section h2 {
  font-size: 36px;
  line-height: 1.3;
  letter-spacing: -1px;
}
.team-section p {
  color: var(--muted);
  margin: 20px 0;
}
.team-section img {
  width: 100%;
  height: auto;
  border-radius: 20px;
  aspect-ratio: 1695/928;
  object-fit: cover;
}
.calendar-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
}
.calendar-layout h2 {
  font-size: 32px;
  line-height: 1.3;
  margin-bottom: 18px;
}
.calendar-layout p {
  color: var(--muted);
  margin-bottom: 16px;
}
.calendar-card {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--surface);
}
.calendar-card > .spread {
  margin-bottom: 20px;
}
.calendar-card .spread button {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--tint);
  font-size: 22px;
}
.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
  text-align: center;
}
.calendar-grid > span {
  font-size: 11px;
  color: var(--muted);
}
.calendar-day {
  width: 100%;
  border-radius: 10px;
  aspect-ratio: 1;
  font-size: 14px;
}
.calendar-day:not(:disabled):hover {
  background: var(--violet-soft);
}
.calendar-day[aria-pressed="true"] {
  background: var(--violet);
  color: white;
}
.calendar-day:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.calendar-slots {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0;
}
.calendar-card > .button {
  width: 100%;
}
.calendar-card > .note {
  margin-top: 15px;
  font-size: 11px;
}
.enquiry-form {
  border: 0;
  background: transparent;
  padding: 15px 0 0;
  border-radius: 0;
}
.enquiry-form > .button {
  margin-top: 20px;
}
.enquiry-dialog .form-success h2 {
  padding: 0;
}
.mobile-assistant {
  display: none;
}
.assistant-launcher {
  position: fixed;
  z-index: 44;
  bottom: 22px;
  right: 18px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  font-size: 12px;
}
.assistant-launcher > span { padding: 10px 16px; color: #14162e; background: white; border: 1px solid #e2e4f0; border-radius: 99px; box-shadow: 0 6px 24px #0002; }
.assistant-launcher > b { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; color: #092c29; background: #2bcbb1; box-shadow: 0 6px 24px #0002; }
.assistant-launcher.above-consent {
  bottom: 155px;
}
.assistant-dialog {
  width: 440px;
  margin: auto 22px 90px auto;
}
.assistant-dialog h2 {
  font-size: 24px;
}
.assistant-dialog > .eyebrow {
  font-size: 12px;
}
.chat-messages { max-height: 280px; overflow-y: auto; margin: 20px 0; }
.assistant-dialog .chat-bubble { padding: 12px 15px; font-size: 13px; border-radius: 16px 16px 16px 4px; background: var(--tint); max-width: 90%; }
.assistant-dialog .chat-bubble.visitor { background: var(--violet-soft); color: var(--text); margin-left: auto; border-radius: 16px 16px 4px 16px; }
.chat-choices .choice-chip { text-align: left; }
.footer-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 16px;
}
.public-footer .footer-socials a {
  display: flex;
  gap: 6px;
  align-items: center;
  font-size: 12px;
}
/* Shared catalog layouts follow the approved draft, preserving deep detail links. */
.catalog-heading > div { max-width: 840px; }
.catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: start; }
.catalog-card { min-width: 0; border: 1px solid var(--line); border-radius: 22px; background: var(--catalog-surface,var(--surface)); background-image: var(--catalog-glow,none); overflow: hidden; box-shadow: 0 10px 28px -26px rgba(14,16,48,.25); }
.services-grid .catalog-card:nth-child(2), .services-grid .catalog-card:nth-child(4) { --catalog-surface: var(--teal-soft); --catalog-glow: linear-gradient(140deg,transparent,var(--surface)); }
.services-grid .catalog-card:nth-child(3), .products-grid .catalog-card:nth-child(odd), .industries-grid .catalog-card:nth-child(odd) { --catalog-surface: var(--violet-soft); --catalog-glow: linear-gradient(140deg,transparent,var(--surface)); }
.products-grid .catalog-card:nth-child(even), .industries-grid .catalog-card:nth-child(even) { --catalog-surface: var(--teal-soft); --catalog-glow: linear-gradient(140deg,transparent,var(--surface)); }
.catalog-overview { min-height: var(--catalog-overview-height,0px); }
.catalog-media { overflow: hidden; background: var(--ink); }
.catalog-media > img { width: 100%; height: 220px; object-fit: cover; }
.catalog-copy { padding: 26px; }
.catalog-copy .eyebrow { font-size: 11px; margin-bottom: 12px; }
.catalog-copy h3 { font-size: 23px; line-height: 1.4; letter-spacing: -.5px; }
.catalog-copy p, .catalog-detail { font-size: 13px; line-height: 1.9; color: var(--muted); }
.catalog-copy p { margin-top: 14px; }
.catalog-card.featured { grid-column: 1/-1; }
.catalog-card.featured .catalog-overview { display: grid; grid-template-columns: .95fr 1.05fr; align-items: stretch; }
.catalog-card.featured .catalog-media > img { height: 100%; min-height: 240px; }
.catalog-card.featured .catalog-copy { align-self: center; padding: 30px; }
.catalog-card.featured h3 { font-size: 30px; }
.catalog-card summary { padding: 16px 26px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; list-style: none; font-size: 13px; font-weight: 600; color: var(--violet); border-top: 1px solid var(--line); }
.catalog-card summary::-webkit-details-marker { display: none; }
.catalog-card details[open] summary { background: rgba(91,61,245,.045); }
.catalog-card summary > span { font-size: 24px; line-height: 1; transition: transform .2s; }
.catalog-card details[open] summary > span { transform: rotate(45deg); }
.catalog-detail { padding: 0 26px 26px; }
.catalog-detail > p { margin: 12px 0 18px; }
.catalog-detail h4 { font-size: 15px; color: var(--text); margin: 18px 0 12px; }
.catalog-detail .check-list { color: var(--muted); font-size: 13px; }
.catalog-detail .text-link { display: flex; align-items: flex-start; min-height: var(--catalog-action-height,0px); margin-top: 18px; font-size: 13px; }
.delivery-box { border: 1px solid color-mix(in srgb, var(--teal) 25%, transparent); background: var(--teal-soft); padding: 18px; border-radius: 14px; margin-top: 22px; }
.catalog-detail > .delivery-box { margin-top: calc(22px + var(--catalog-delivery-gap,0px)); min-height: var(--catalog-delivery-height,0px); }
.delivery-box h4, .delivery-box h3 { color: var(--teal); margin: 0 0 8px; font-size: 13px; }
.delivery-box p { font-size: 13px; margin: 0; }
.catalog-card.practice-card { background: var(--surface); box-shadow: none; transition: border-color .2s,box-shadow .2s; }
.practice-card .catalog-media > img { transition: transform .5s ease; }
.practice-card summary { color: var(--text); }
.practice-card summary > span { color: var(--teal); }
.practice-card details[open] summary { background: transparent; }
.practice-card summary:hover { color: var(--teal); }
.practice-card:hover { border-color: var(--teal); box-shadow: var(--card-shadow); }
.practice-card:hover .catalog-media > img { transform: scale(1.025); }
.bridge-card { background: var(--violet-soft); border: 1px solid var(--line); border-radius: 24px; padding: 34px; }
.bridge-card.teal { background: var(--teal-soft); }
.bridge-card.dark { background: var(--ink); background-image: radial-gradient(ellipse at 100% 0%,rgba(91,61,245,.22),transparent 70%); color: white; border-color: #2a2e55; }
.bridge-card .eyebrow { font-size: 12px; }
.bridge-card.dark .eyebrow, .bridge-card.dark .text-link { color: #b3a3ff; }
.bridge-card h3 { font-size: 29px; letter-spacing: -.6px; line-height: 1.4; }
.bridge-card p { font-size: 14px; color: var(--muted); margin: 20px 0 24px; }
.bridge-card.dark p { color: #b9b8d2; }
.violet-closing { background: var(--violet); }
.home-closing { background: linear-gradient(115deg,#38248c,var(--violet)); }
.dark-closing { background: var(--ink); background-image: radial-gradient(ellipse at 100% 0%,rgba(91,61,245,.25),transparent 70%); }
.dark-closing .eyebrow { color: #91efde; }
.violet-closing .eyebrow, .violet-closing p, .home-closing p { color: #ece8ff; }
.closing-card > .inline-actions { flex-shrink: 0; gap: 12px; }
.violet-closing .button.light, .home-closing .button.light { background: white; color: #392a99; border: 0; }
.dark-closing .button.light { background: var(--violet); color: white; border-color: transparent; }
.report-steps > article > .spread { color: var(--violet); margin-bottom: 22px; }
.report-steps .spread > span { font-size: 12px; color: var(--muted); }
.report-steps > article > .flow-arrow { position: absolute; right: -25px; top: 45%; width: 22px; height: auto; padding: 0; margin: 0; color: var(--teal); background: transparent; }
.team-shaper, .join-onboarding, .contact-booking-layout, .about-approach { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: start; }
.team-shaper h2, .about-approach h2 { font-size: 36px; line-height: 1.3; letter-spacing: -1px; }
.team-shaper > div > p, .about-approach p { color: var(--muted); margin: 22px 0; }
.team-shaper .button { margin-top: 24px; }
.photo-sphere > .spread > .eyebrow { font-size: 11px; color: #b9b8d2; margin: 0; }
.photo-sphere > canvas { height: 390px; aspect-ratio: auto; max-height: none; }
.sphere-pause { border: 1px solid #ffffff35; border-radius: 50%; width: 32px; height: 32px; }
.photo-sphere .globe-chips { margin-top: 0; display: flex; flex-wrap: wrap; }
.globe-chips > button { flex: 1; padding: 9px 12px; border: 1px solid #ffffff35; border-radius: 99px; font-size: 11px; color: #c9c6df; white-space: nowrap; }
.globe-chips > button[aria-pressed=true] { color: #8debd8; background: #00a88f20; border-color: #00a88f; }
.photo-sphere > div > p { font-size: 13px; margin-top: 12px; color: #b9b8d2; min-height: 70px; }
.violet-text { color: var(--violet); }
.card-kicker { display: flex; align-items: center; gap: 12px; }
.card-kicker > .icon-box { padding: 10px; border-radius: 12px; }
.feature-service { position: relative; overflow: hidden; }
.feature-service > :not(.growth-art) { position: relative; }
.feature-service > .growth-art { position: absolute; width: 42%; height: 180px; right: 20px; top: 58px; object-fit: contain; object-position: right center; pointer-events: none; }
.feature-service > .feature-arrow { position: absolute; right: 22px; top: 22px; display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid #ffffff40; border-radius: 50%; }
.feature-service h3 { max-width: 70%; }
.home-industry-grid .card-copy { position: relative; padding-top: 37px; }
.industry-badge { position: absolute; top: -25px; left: 25px; display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; border: 4px solid var(--surface); color: var(--violet); background: var(--violet-soft); }
.home-industry-grid .text-link { display: flex; justify-content: space-between; }
.home-value-band { background: var(--bg); }
.success-band { background: var(--tint); }
.home-services .service-mini, .home-industry-grid .content-card, .success-card { background: var(--violet-soft); background-image: linear-gradient(140deg,transparent,var(--surface)); }
.service-mini:nth-child(1), .service-mini:nth-child(4), .home-industry-grid .content-card:nth-child(even), .success-card:nth-child(even) { background: var(--teal-soft); background-image: linear-gradient(140deg,transparent,var(--surface)); }
.feature-service, .value-card.dark { background: var(--ink); background-image: radial-gradient(ellipse at 100% 0%,rgba(91,61,245,.2),transparent 70%); border: 1px solid #ffffff1f; }
.feature-service, .service-mini, .home-industry-grid .content-card, .success-card, .value-card { box-shadow: 0 8px 28px -24px rgba(14,16,48,.24); }
.feature-service, .service-mini, .home-industry-grid .content-card, .consulting-roles .role-card { transition: border-color .2s,box-shadow .2s,transform .2s; }
.feature-service:hover, .service-mini:hover, .home-industry-grid .content-card:hover, .consulting-roles .role-card:hover { border-color: var(--teal); box-shadow: var(--card-shadow); transform: translateY(-3px); }
.home-industry-grid .text-link > svg, .success-card .text-link > svg { transition: transform .2s; }
.home-industry-grid .content-card:hover .text-link > svg, .home-industry-grid .content-card:focus-within .text-link > svg, .success-card .text-link:hover > svg { transform: translateX(4px); }
.case-grid .content-card, #insight-results .content-card { background: var(--violet-soft); background-image: linear-gradient(145deg,transparent,var(--surface)); box-shadow: 0 10px 28px -26px rgba(14,16,48,.25); transition: border-color .2s,box-shadow .2s; }
.case-grid .content-card:nth-child(even), #insight-results .content-card:nth-child(even) { background: var(--teal-soft); }
.case-grid .content-card:hover, #insight-results .content-card:hover { transform: none; }
.case-grid .content-card:focus-within { border-color: var(--teal); box-shadow: 0 0 0 2px rgba(0,168,143,.1); }
#insight-results .content-card:hover, #insight-results .content-card:focus-within { border-color: var(--teal); box-shadow: 0 15px 32px -27px rgba(14,16,48,.3); }
@media (prefers-reduced-motion:reduce) {
  .feature-service, .service-mini, .home-industry-grid .content-card, .consulting-roles .role-card, .practice-card, .practice-card .catalog-media > img, .catalog-card summary > span, .home-industry-grid .text-link > svg, .success-card .text-link > svg, #insight-results .content-card { transition: none; }
  .feature-service:hover, .service-mini:hover, .home-industry-grid .content-card:hover, .consulting-roles .role-card:hover, .practice-card:hover .catalog-media > img, .home-industry-grid .content-card:hover .text-link > svg, .home-industry-grid .content-card:focus-within .text-link > svg, .success-card .text-link:hover > svg { transform: none; }
}
.logo-track > .client-logo-dark, .success-card > .client-logo-dark, .case-logo.client-logo-dark { background: #0e1030; border-color: #2a2e55; }
.trusted-panel { background: var(--tint); padding: 30px; border: 1px solid var(--line); border-radius: 24px; }
.trusted-heading { text-align: left; font-size: 12px; margin-bottom: 20px; }
.audience-switch { display: inline-flex; gap: 4px; border: 1px solid #ffffff30; border-radius: 99px; padding: 4px; background: #ffffff08; }
.audience-switch .button { border: 0; box-shadow: none; }
.engagement-card.separate-models { padding: 0; border: 0; background: transparent; }
.separate-models > div { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 20px; margin-top: 16px; }
.separate-models h2 { margin-bottom: 24px; }
.draft-calculator { background: #0e1030; color: white; border-color: #2a2e55; align-self: start; }
.draft-calculator > .eyebrow { color: #b3a3ff; font-size: 12px; }
.draft-calculator > label { color: #c5c3dc; margin-top: 32px; }
.draft-calculator label strong { color: white; }
.draft-calculator input { accent-color: #2bcbb1; }
.draft-calculator .savings-result { display: grid; grid-template-columns: 1.4fr 1fr; gap: 15px; padding: 22px 0; border-top: 1px solid #ffffff25; background: transparent; border-radius: 0; }
.draft-calculator .savings-result span { font-size: 11px; color: #b9b8d2; }
.draft-calculator .savings-result strong { font-size: 32px; color: #2bcbb1; }
.draft-calculator .note { color: #b9b8d2; font-size: 12px; }
.draft-calculator > .button { width: 100%; margin-top: 28px; }
.directory-filters legend, .filter-heading { font-size: 11px; text-transform: uppercase; letter-spacing: .9px; display: block; font-weight: 600; margin-bottom: 12px; }
.live-matches { background: #0e1030; border-color: #2a2e55; color: white; }
.live-matches .eyebrow { color: #b3a3ff; }
.live-matches p, .live-matches small { color: #b9b8d2; }
.live-matches > .match-count { display: block; font-size: 54px; line-height: 1.2; color: #2bcbb1; }
.next-steps .check-list { padding-left: 0; font-size: 13px; }
.next-steps a { overflow-wrap: anywhere; }
.onboarding-steps { grid-template-columns: 1fr 1fr; gap: 16px; }
.career-meta { display: grid; grid-template-columns: 2fr 1fr; gap: 24px; margin-top: 24px; font-size: 13px; color: var(--muted); }
.career-meta .eyebrow { font-size: 11px; margin-bottom: 6px; }
.dashboard-preview { background: #0e1030; border-radius: 20px; padding: 24px; color: white; margin-top: 24px; font-size: 12px; }
.dashboard-preview .eyebrow { font-size: 11px; color: #b3a3ff; }
.dashboard-preview .note { color: #b9b8d2; font-size: 11px; }
.dashboard-preview .spread { margin-top: 16px; }
.dashboard-preview strong { color: #2bcbb1; }
.dashboard-preview progress { width: 100%; height: 7px; accent-color: #2bcbb1; }
.resume-drop { position: relative; grid-column: 1/-1; border: 1px dashed var(--violet); border-radius: 14px; padding: 25px; text-align: center; cursor: pointer; background: var(--tint); }
.resume-drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.resume-drop:focus-within { outline: 3px solid var(--teal); }
.resume-drop span { overflow-wrap: anywhere; }
.contact-booking-layout { grid-template-columns: 1.25fr 1fr; }
.contact-intents { margin: 24px 0; }
.contact-intents strong { display: block; margin-bottom: 12px; font-size: 13px; }
.contact-booking-layout .calendar-card { position: sticky; top: 100px; }
.calendar-card h2 { font-size: 28px; line-height: 1.4; }
.calendar-card p { margin: 16px 0; font-size: 13px; color: var(--muted); }
#calendar-picker { margin-top: 26px; }
#calendar-picker > .spread { margin-bottom: 18px; }
#calendar-picker > .button { width: 100%; }
.contact-details { margin-top: 26px; border-top: 1px solid var(--line); padding-top: 15px; font-size: 13px; }
.contact-details a { display: flex; align-items: center; gap: 8px; margin-top: 10px; overflow-wrap: anywhere; }
.about-photo-carousel { background: #14162e; border: 1px solid #ffffff30; border-radius: 24px; overflow: hidden; max-width: 440px; margin-left: auto; }
.about-photo-stage { position: relative; height: 470px; }
.about-photo-stage figure { position: absolute; inset: 0; }
.about-photo-stage img { width: 100%; height: 100%; object-fit: cover; }
.about-photo-stage figcaption { position: absolute; inset: auto 0 0; padding: 90px 25px 25px; background: linear-gradient(transparent,#0e1030ed); }
.about-photo-stage .eyebrow { font-size: 11px; color: #83e9d5; }
.about-photo-stage h2 { font-size: 26px; line-height: 1.3; }
.about-photo-stage p { font-size: 12px; margin-top: 12px; color: #d1cfe4; }
.carousel-progress { height: 3px; background: #ffffff20; }
.carousel-progress span { display: block; height: 100%; background: #2bcbb1; }
.carousel-controls { display: flex; align-items: center; gap: 10px; padding: 12px 18px; font-size: 12px; }
.carousel-controls > button { width: 32px; height: 32px; border: 1px solid #ffffff30; border-radius: 50%; }
.carousel-dots { display: flex; gap: 6px; margin: 0 auto; }
.carousel-dots button { width: 24px; height: 24px; border: 6px solid #14162e; border-radius: 50%; background: #646580; }
.carousel-dots [aria-pressed=true] { background: #2bcbb1; }
.principles h2 { font-size: 20px; color: var(--violet); }
.principles p { font-size: 16px; color: var(--text); line-height: 1.7; }
.expertise-cards .bridge-card { background: var(--surface); }
.expertise-badge { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 14px; background: var(--teal-soft); color: var(--teal); margin-bottom: 24px; font-weight: 700; }
.case-heading { padding: 24px 24px 0; color: var(--muted); font-size: 12px; }
.case-logo { width: 140px; height: 78px; padding: 12px; background: white; border: 1px solid var(--line); border-radius: 12px; }
.case-logo img { width: 100%; height: 100%; object-fit: contain; }
.case-grid .card-copy h3 { font-size: 20px; }
.insight-perspective > .eyebrow { font-size: 12px; color: #b3a3ff; }
.insight-perspective > h2 { font-size: 24px; margin-bottom: 18px; }
.insight-perspective { border: 1px solid #ffffff24; border-radius: 24px; padding: 24px; background: #ffffff05; }
.insight-hero-grid { padding: 0; border: 0; border-radius: 0; background: none; gap: 13px; }
.insight-hero-grid .wide img { height: 155px; }
.insight-hero-grid img { height: 105px; }
.library-tools { display: block; }
.library-search { flex-shrink: 0; }
.card-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.card-meta .eyebrow { font-size: 11px; }
.read-time { white-space: nowrap; color: var(--muted); font-size: 11px; }
@media (max-width: 1000px) {
  .website .site-nav { top: 68px; max-height: calc(100dvh - 68px); }
  .directory-layout {
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 20px;
  }
  .expert-grid {
    grid-template-columns: 1fr;
  }
  .consulting-roles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .shortlist-tray {
    max-width: calc(100% - 110px);
    left: 20px;
    transform: none;
  }
  .requirement-layout {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: 20px;
  }
  .wizard-progress li {
    flex-direction: column;
  }
  .leaders-grid.draft-leaders { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .join-onboarding, .contact-booking-layout, .team-shaper { gap: 24px; }
  .onboarding-steps { grid-template-columns: 1fr; }
  .closing-card { flex-direction: column; align-items: start; }
  .team-section,
  .calendar-layout {
    gap: 30px;
  }
}
@media (max-width: 700px) {
  .catalog-grid, .catalog-card.featured .catalog-overview, .team-shaper, .join-onboarding, .contact-booking-layout, .about-approach { grid-template-columns: 1fr; }
  .catalog-copy, .catalog-card.featured .catalog-copy { padding: 24px; }
  .catalog-card.featured .catalog-media > img { height: 220px; min-height: 0; }
  .catalog-card.featured h3 { font-size: 25px; }
  .bridge-card { padding: 26px; }
  .bridge-card h3 { font-size: 25px; }
  .report-steps > article > .flow-arrow { right: calc(50% - 11px); top: auto; bottom: -27px; }
  .contact-booking-layout .calendar-card { position: static; }
  .about-photo-carousel { margin: 0; max-width: none; }
  .about-photo-stage { height: 400px; }
  .library-tools .section-head { flex-direction: column; align-items: stretch; }
  .leaders-grid.draft-leaders { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 20px; }
  .leader-swipe-hint { display: block; margin-bottom: 18px; }
  .trusted-panel { padding: 24px; }
  .draft-calculator .savings-result strong { font-size: 29px; }
  .team-shaper h2, .about-approach h2 { font-size: 29px; }
  .home-services > *,
  .service-mini {
    min-width: 0;
  }
  .directory-layout,
  .requirement-layout,
  .calendar-layout,
  .team-section {
    grid-template-columns: 1fr;
  }
  .directory-filters,
  .requirement-summary {
    position: static;
  }
  .filter-toggle {
    display: block;
  }
  .filter-options {
    display: none;
  }
  .filter-options.expanded {
    display: block;
  }
  .expert-search {
    flex-wrap: wrap;
  }
  .expert-search input {
    min-width: 100%;
  }
  .expert-search .button {
    width: 100%;
  }
  .directory-results > .spread {
    flex-direction: column;
  }
  .sort-label {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .shortlist-tray {
    left: 12px;
    right: 72px;
    bottom: 12px;
    max-width: none;
    width: auto;
    gap: 8px;
    padding: 12px;
    flex-wrap: wrap;
    border-radius: 16px;
  }
  .shortlist-tray > div {
    width: 100%;
  }
  .shortlist-tray .button {
    font-size: 11px;
    padding: 8px 13px;
  }
  .nav-wrap .site-brand {
    flex-shrink: 1;
    min-width: 0;
  }
  .mobile-assistant {
    display: grid;
  }
  .assistant-launcher {
    display: none;
  }
  .public-dialog {
    padding: 28px 22px;
  }
  .public-dialog h2 {
    font-size: 23px;
  }
  .consulting-roles {
    gap: 12px;
  }
  .consulting-roles .role-card {
    padding: 18px;
  }
  .consulting-roles h3 {
    font-size: 15px;
  }
  .draft-leaders > article {
    flex-basis: 92%;
    flex-shrink: 0;
    scroll-snap-align: start;
    padding: 20px;
    gap: 15px;
  }
  .leaders-grid.draft-leaders > article > img {
    width: 70px;
    height: 80px;
  }
  .leaders-grid.draft-leaders h3 {
    font-size: 16px;
  }
  .team-section h2 {
    font-size: 28px;
  }
  .assistant-dialog {
    margin: auto 16px 75px;
  }
  .shortlist-glass {
    padding: 22px;
  }
  .calendar-card {
    padding: 22px;
  }
  .calendar-grid {
    gap: 3px;
  }
  .requirement-form legend {
    font-size: 21px;
  }
}
@media (max-width: 900px) {
  .site-hero.home-hero .hero-layout, .site-hero.insight-hero .hero-layout, .site-hero:has(.photo-sphere) .hero-layout { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 560px) {
  .website .nav-wrap { height: 70px; gap: 12px; }
  .home-hero .hero-copy > p { font-size: 16px; }
  .website .site-nav { top: 70px; max-height: calc(100dvh - 70px); }
  .consent-banner { position: static; transform: none; margin: 12px auto; padding: 12px; gap: 10px; box-shadow: none; }
  .consent-banner > div:last-child { justify-content: stretch; }
  .consent-banner .button { flex: 1; min-height: 44px; }
  .photo-sphere > canvas { height: 330px; }
  .insight-perspective { padding: 18px; }
  .insight-hero-grid .wide img { height: 140px; }
  .insight-hero-grid img { height: 95px; }
  .reader-content { padding: 22px; }
}
