@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600&family=Jost:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600&display=swap');

:root {
  --ink:#10233f; --ink-soft:#53677f; --navy:#102d55; --navy-deep:#081b35;
  --blue:#2f6feb; --blue-bright:#55a6ff; --cyan:#45bfd1; --sky:#dcecff;
  --violet:#6f7fd8; --mint:#38a9a0; --ice:#b9d8f1; --steel:#7895b5;
  --surface:#e7eef8; --surface-2:#edf3fb; --white:#f8fbff; --line:rgba(39,77,122,.15);
  --shadow-out:18px 18px 44px rgba(103,126,156,.26), -18px -18px 44px rgba(255,255,255,.88);
  --shadow-soft:10px 10px 26px rgba(101,126,158,.22), -10px -10px 26px rgba(255,255,255,.86);
  --shadow-in:inset 7px 7px 15px rgba(109,132,161,.2), inset -7px -7px 15px rgba(255,255,255,.9);
  --shadow-dark:22px 24px 54px rgba(8,28,56,.3), inset 1px 1px 0 rgba(255,255,255,.13);
  --radius-xl:48px; --radius-lg:34px; --radius-md:24px; --pill:999px;
  --shell:min(1440px, calc(100% - 64px));
}

/* FOOTER QUICK LINKS: two link columns sharing one heading underline */
.footer-links-group {
  padding-top: 4px;
}

.footer-links-group h3 {
  width: 100%;
  margin: 0 0 10px;
  padding-bottom: 13px;
  border-bottom: 1px solid rgba(218,237,252,.3);
  color: #eef7ff;
  font: 700 18px/1.2 "Montserrat","Jost","Century Gothic",system-ui,sans-serif;
  letter-spacing: .04em;
}

.footer-link-columns {
  display: grid;
  grid-template-columns: repeat(2,minmax(92px,1fr));
  gap: 12px clamp(18px,2vw,34px);
}

.footer-link-columns .footer-column {
  padding-top: 0;
}

@media (max-width: 760px) {
  .footer-top {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }

  .footer-links-group {
    grid-column: 1 / 3 !important;
    width: 100% !important;
    max-width: 360px !important;
    margin-inline: auto !important;
    text-align: center !important;
  }

  .footer-links-group h3 {
    text-align: center !important;
  }

  .footer-link-columns {
    grid-template-columns: 1fr 1fr !important;
    justify-items: center !important;
    gap: 10px 20px !important;
  }

  .footer-link-columns .footer-column {
    width: 100% !important;
    max-width: none !important;
  }
}

/* HOME TITLE LINE SPACING */
body[data-route="home"] .split-head .section-title {
  line-height: 1.14 !important;
}

body[data-route="home"] .page-link h3 {
  line-height: 1.08 !important;
}

body[data-route="home"] .home-steps .orb,
body[data-route="home"] .home-steps .neo-card small {
  display: none !important;
}

body[data-route="home"] .home-steps h3 {
  margin-top: 24px !important;
}

@media (max-width: 900px) {
  body[data-route="home"] .split-head .section-title {
    line-height: 1.12 !important;
  }

  body[data-route="home"] .page-link h3 {
    line-height: 1.1 !important;
  }
}

/* INSIGHTS TILE BALANCE AND RECENT ARTICLES */
body[data-route="insights"] .insights-band-inner {
  align-items: start !important;
}

body[data-route="insights"] .insights-tile-grid {
  align-self: start !important;
  gap: 16px !important;
}

body[data-route="insights"] .insights-glass-tile:not(.insights-recent-articles) {
  min-height: 262px !important;
  padding: 22px 20px !important;
}

body[data-route="insights"] .insights-glass-tile h3 {
  font-size: clamp(20px,1.35vw,26px) !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
}

body[data-route="insights"] .insights-recent-articles {
  grid-column: 1 / -1 !important;
  min-height: 98px !important;
  padding: 20px 22px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
}

body[data-route="insights"] .insights-recent-articles h3 {
  margin-top: 6px !important;
  font-size: clamp(24px,1.65vw,32px) !important;
  font-weight: 500 !important;
}

body[data-route="insights"] .insights-recent-articles i {
  flex: 0 0 auto !important;
  margin: 0 0 0 22px !important;
}

@media (max-width: 900px) {
  body[data-route="insights"] .insights-tile-grid {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
}

@media (max-width: 760px) {
  body[data-route="insights"] .insights-tile-grid {
    grid-template-columns: 1fr !important;
  }

  body[data-route="insights"] .insights-glass-tile:not(.insights-recent-articles) {
    min-height: 190px !important;
  }

  body[data-route="insights"] .insights-recent-articles {
    min-height: 112px !important;
  }
}

/* FINAL REQUESTED COPY AND MOBILE FIT FIXES - LAST OVERRIDE */
body[data-route="terms"] .image-hero .display {
  max-width: none !important;
  white-space: nowrap !important;
  font-size: clamp(34px,5.4vw,78px) !important;
  line-height: 1 !important;
}

body[data-route="services"] .services-gallery-heading h2,
body[data-route="services"] .services-gallery-heading h2 em {
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

body[data-route="people"] .expert-callout {
  padding: clamp(28px,3.4vw,46px) !important;
}

body[data-route="people"] .expert-callout-copy {
  display: grid !important;
  grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr) !important;
  align-items: start !important;
  gap: clamp(22px,3.2vw,48px) !important;
}

body[data-route="people"] .expert-callout-copy h2 {
  max-width: 100% !important;
  font-size: clamp(28px,2.9vw,40px) !important;
  line-height: 1.06 !important;
  letter-spacing: 0 !important;
}

body[data-route="people"] .expert-roll-line {
  white-space: normal !important;
  min-height: 0 !important;
}

body[data-route="people"] .expert-callout-copy p {
  max-width: 760px !important;
  font-size: clamp(16px,1.25vw,19px) !important;
  line-height: 1.55 !important;
}

@media (max-width: 900px) {
  body[data-route="terms"] .image-hero .display {
    white-space: normal !important;
    font-size: clamp(35px,10vw,56px) !important;
  }

  body[data-route="people"] .expert-callout-copy {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body[data-route="people"] .expert-callout-copy h2 {
    font-size: clamp(29px,8.4vw,42px) !important;
  }
}

@media (max-width: 520px) {
  body[data-route="people"] .expert-callout {
    padding: 26px 20px !important;
  }

  body[data-route="people"] .expert-callout-copy h2 {
    font-size: clamp(27px,8.6vw,35px) !important;
  }

  body[data-route="people"] .expert-callout-copy p {
    font-size: 16px !important;
  }
}

/* FINAL REQUESTED COPY AND MOBILE FIT FIXES - LAST OVERRIDE */
body[data-route="terms"] .image-hero .display {
  max-width: none !important;
  white-space: nowrap !important;
  font-size: clamp(34px,5.4vw,78px) !important;
  line-height: 1 !important;
}

body[data-route="services"] .services-gallery-heading h2,
body[data-route="services"] .services-gallery-heading h2 em {
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

body[data-route="people"] .expert-callout {
  padding: clamp(28px,3.4vw,46px) !important;
}

body[data-route="people"] .expert-callout-copy {
  display: grid !important;
  grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr) !important;
  align-items: start !important;
  gap: clamp(22px,3.2vw,48px) !important;
}

body[data-route="people"] .expert-callout-copy h2 {
  max-width: 100% !important;
  font-size: clamp(28px,2.9vw,40px) !important;
  line-height: 1.06 !important;
  letter-spacing: 0 !important;
}

body[data-route="people"] .expert-roll-line {
  white-space: normal !important;
  min-height: 0 !important;
}

body[data-route="people"] .expert-callout-copy p {
  max-width: 760px !important;
  font-size: clamp(16px,1.25vw,19px) !important;
  line-height: 1.55 !important;
}

@media (max-width: 900px) {
  body[data-route="terms"] .image-hero .display {
    white-space: normal !important;
    font-size: clamp(35px,10vw,56px) !important;
  }

  body[data-route="people"] .expert-callout-copy {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body[data-route="people"] .expert-callout-copy h2 {
    font-size: clamp(29px,8.4vw,42px) !important;
  }
}

@media (max-width: 520px) {
  body[data-route="people"] .expert-callout {
    padding: 26px 20px !important;
  }

  body[data-route="people"] .expert-callout-copy h2 {
    font-size: clamp(27px,8.6vw,35px) !important;
  }

  body[data-route="people"] .expert-callout-copy p {
    font-size: 16px !important;
  }
}

/* FINAL REQUESTED COPY AND MOBILE FIT FIXES */
body[data-route="terms"] .image-hero .display {
  max-width: none !important;
  white-space: nowrap !important;
  font-size: clamp(34px,5.4vw,78px) !important;
  line-height: 1 !important;
}

body[data-route="services"] .services-gallery-heading h2,
body[data-route="services"] .services-gallery-heading h2 em {
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

body[data-route="people"] .expert-callout {
  padding: clamp(28px,3.4vw,46px) !important;
}

body[data-route="people"] .expert-callout-copy {
  display: grid !important;
  grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr) !important;
  align-items: start !important;
  gap: clamp(22px,3.2vw,48px) !important;
}

body[data-route="people"] .expert-callout-copy h2 {
  max-width: 100% !important;
  font-size: clamp(28px,2.9vw,40px) !important;
  line-height: 1.06 !important;
  letter-spacing: 0 !important;
}

body[data-route="people"] .expert-roll-line {
  white-space: normal !important;
  min-height: 0 !important;
}

body[data-route="people"] .expert-callout-copy p {
  max-width: 760px !important;
  font-size: clamp(16px,1.25vw,19px) !important;
  line-height: 1.55 !important;
}

@media (max-width: 900px) {
  body[data-route="terms"] .image-hero .display {
    white-space: normal !important;
    font-size: clamp(35px,10vw,56px) !important;
  }

  body[data-route="people"] .expert-callout-copy {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body[data-route="people"] .expert-callout-copy h2 {
    font-size: clamp(29px,8.4vw,42px) !important;
  }
}

@media (max-width: 520px) {
  body[data-route="people"] .expert-callout {
    padding: 26px 20px !important;
  }

  body[data-route="people"] .expert-callout-copy h2 {
    font-size: clamp(27px,8.6vw,35px) !important;
  }

  body[data-route="people"] .expert-callout-copy p {
    font-size: 16px !important;
  }
}

/* FINAL CONTACT VALIDATION POSITIONING */
.contact-form {
  align-items: start !important;
}

.contact-form label:has(input[name="email"]) {
  position: relative !important;
  padding-bottom: 0 !important;
}

.contact-form label:has(input[name="email"]) .field-error {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: calc(100% + 7px) !important;
  bottom: auto !important;
  display: block !important;
  visibility: visible !important;
  min-height: 0 !important;
  color: #ffb9b9 !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  pointer-events: none !important;
  z-index: 5 !important;
}

.contact-form label:has(input[name="email"]) .field-error:empty {
  display: block !important;
  visibility: hidden !important;
}

/* CONTACT FORM: keep email validation from shifting the form */
.contact-form label:has(input[name="email"]) {
  position: relative !important;
  padding-bottom: 0 !important;
}

.contact-form label:has(input[name="email"]) .field-error {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: calc(100% + 7px) !important;
  bottom: auto !important;
  display: block !important;
  min-height: 28px !important;
  color: #ffb9b9 !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  z-index: 3 !important;
}

.contact-form label:has(input[name="email"]) .field-error:empty {
  display: block !important;
  visibility: hidden !important;
}

/* MOBILE LOAD FALLBACK */
.fallback-home {
  min-height: calc(100vh - 120px);
  padding: clamp(70px, 12vw, 130px) 0;
  display: grid;
  align-content: center;
  gap: 18px;
}

.fallback-home p {
  margin: 0;
  color: #2f6dd8;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.fallback-home h1 {
  margin: 0;
  color: #082346;
  font: 500 clamp(48px, 14vw, 92px)/1.04 "Montserrat","Jost","Century Gothic",system-ui,sans-serif;
}

.fallback-home a {
  width: fit-content;
  min-height: 48px;
  padding: 14px 22px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  color: #fff;
  background: #2368c9;
  font-weight: 800;
  text-decoration: none;
}

body:not([data-route]) .is-loading {
  animation: none !important;
}

/* HEADER CONTACT LINK: show only inside the hamburger menu */
.links .nav-contact-link {
  display: none !important;
}

@media (max-width: 1200px) {
  .links.open .nav-contact-link {
    display: block !important;
  }
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; overflow-x:hidden; color:var(--ink); background:var(--surface); font-family:"Montserrat","Jost","Century Gothic",system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; z-index:-1; background:radial-gradient(circle at 12% 8%,rgba(255,255,255,.9),transparent 26%),radial-gradient(circle at 88% 22%,rgba(104,170,255,.13),transparent 26%),linear-gradient(135deg,#edf3fb 0%,#e2ebf6 52%,#e9f1fa 100%); }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
button { color:inherit; }
img { display:block; max-width:100%; }
::selection { color:white; background:var(--blue); }
:focus-visible { outline:3px solid var(--blue-bright); outline-offset:4px; }
.shell { width:var(--shell); margin-inline:auto; }
#app:focus { outline:none; }
.skip-link { position:fixed; top:12px; left:12px; z-index:1000; padding:12px 18px; border-radius:var(--pill); background:var(--navy); color:white; transform:translateY(-150%); transition:transform .2s; }
.skip-link:focus { transform:none; }
.noscript { margin:40px; padding:24px; border-radius:20px; background:white; text-align:center; box-shadow:var(--shadow-soft); }

.nav { position:sticky; top:0; z-index:100; width:100%; height:118px; margin:0; padding:0 max(26px,calc((100vw - 1400px)/2)); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border:0; border-bottom:1px solid rgba(255,255,255,.13); border-radius:0; background:linear-gradient(145deg,rgba(13,49,94,.985),rgba(6,23,46,.99)); box-shadow:0 10px 22px rgba(8,28,56,.2),inset 0 1px 0 rgba(255,255,255,.13); -webkit-backdrop-filter:blur(24px); backdrop-filter:blur(24px); }
.scroll-progress { position:absolute; left:0; right:0; bottom:0; height:2px; overflow:hidden; border-radius:0; }
.scroll-progress span { display:block; width:100%; height:100%; border-radius:inherit; background:linear-gradient(90deg,rgb(200,171,88),rgba(235,213,142,.95),rgb(200,171,88)); transform:scaleX(0); transform-origin:left; transition:transform .08s linear; }
.route-loader { position:absolute; left:0; right:0; bottom:-4px; height:4px; overflow:hidden; background:rgba(8,27,54,.18); opacity:0; pointer-events:none; transition:opacity .18s ease; }
.route-loader span { display:block; width:44%; height:100%; border-radius:0 4px 4px 0; background:linear-gradient(90deg,rgb(200,171,88),rgba(235,213,142,.96),rgb(200,171,88)); box-shadow:0 0 12px rgba(200,171,88,.58); transform:translateX(-110%); }
.is-loading .route-loader { opacity:1; }
.is-loading .route-loader span { animation:route-loading 1.05s cubic-bezier(.45,0,.55,1) infinite; }
.brand { position:relative; width:120px; height:116px; margin-left:clamp(45px,7vw,92px); display:flex; align-items:center; justify-content:flex-start; }
.brand img { width:112px; height:112px; object-fit:contain; image-rendering:auto; filter:none; transition:transform .28s ease,filter .28s ease; }
.brand:hover img { filter:brightness(1.08) saturate(1.08); transform:translateY(-2px) scale(1.035); }
.links { display:flex; gap:14px; padding:0 8px; }
.links a { --tab-rgb:74,137,255; position:relative; isolation:isolate; min-width:124px; min-height:56px; padding:19px 22px 16px; border:2px solid rgba(255,255,255,.9); border-radius:16px; color:#061326; background:linear-gradient(145deg,rgba(255,255,255,.38),rgba(255,255,255,.12) 48%,rgba(var(--tab-rgb),.26)); box-shadow:0 0 9px rgba(255,255,255,.48),0 0 24px rgba(var(--tab-rgb),.68),0 10px 20px rgba(0,7,22,.34),inset 2px 2px 3px rgba(255,255,255,.72),inset -3px -3px 7px rgba(var(--tab-rgb),.18); -webkit-backdrop-filter:blur(22px) saturate(1.48); backdrop-filter:blur(22px) saturate(1.48); font-size:16px; font-weight:800; letter-spacing:.035em; line-height:1; text-align:center; text-shadow:0 1px 0 rgba(255,255,255,.74); text-transform:uppercase; transform:translateY(-2px); transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,background .22s ease,filter .22s ease; }
.links a:nth-child(1) { --tab-rgb:68,128,255; }
.links a:nth-child(2) { --tab-rgb:190,83,220; }
.links a:nth-child(3) { --tab-rgb:255,102,157; }
.links a:nth-child(4) { --tab-rgb:245,176,67; }
.links a::before { content:""; position:absolute; z-index:-1; inset:4px 6px auto; height:45%; border-radius:11px 11px 50% 50%; background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.08) 72%,transparent); opacity:.8; }
.links a::after { content:""; position:absolute; z-index:-2; left:11%; right:11%; bottom:-10px; height:15px; border-radius:50%; background:rgba(var(--tab-rgb),.5); filter:blur(10px); opacity:.7; transition:.22s ease; }
.links a:hover { transform:translateY(-7px) scale(1.025); background:linear-gradient(145deg,rgba(255,255,255,.5),rgba(255,255,255,.16) 45%,rgba(var(--tab-rgb),.4)); box-shadow:0 0 12px rgba(255,255,255,.64),0 0 30px rgba(var(--tab-rgb),.88),0 15px 25px rgba(0,6,20,.38),inset 2px 2px 3px rgba(255,255,255,.84),inset -3px -3px 8px rgba(var(--tab-rgb),.22); }
.links a:hover::after { bottom:-14px; opacity:.9; }
.links a.active { background:linear-gradient(145deg,rgba(255,255,255,.58),rgba(255,255,255,.18) 42%,rgba(var(--tab-rgb),.52)); box-shadow:0 0 13px rgba(255,255,255,.76),0 0 35px rgba(var(--tab-rgb),.98),0 13px 24px rgba(0,6,20,.4),inset 2px 2px 4px rgba(255,255,255,.9),inset -4px -4px 9px rgba(var(--tab-rgb),.27); transform:translateY(-3px); }
.links a:active,.links a.active:active { transform:translateY(2px) scale(.985); filter:saturate(.92); box-shadow:0 0 8px rgba(var(--tab-rgb),.52),0 4px 8px rgba(0,6,20,.28),inset 4px 4px 9px rgba(var(--tab-rgb),.25),inset -2px -2px 4px rgba(255,255,255,.62); }
.nav-cta,.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:46px; padding:12px 20px; border:0; border-radius:var(--pill); font-weight:700; cursor:pointer; transition:transform .25s ease,box-shadow .25s ease,background .25s ease; }
.nav-cta { position:relative; justify-self:end; min-height:50px; padding-inline:24px; border:1px solid rgba(211,235,255,.58); color:white; background:linear-gradient(145deg,rgba(139,190,230,.7) 0%,rgba(63,126,187,.58) 52%,rgba(25,76,137,.68) 100%); box-shadow:0 13px 21px rgba(0,10,27,.34),inset 1px 2px 1px rgba(255,255,255,.46),inset -2px -3px 5px rgba(8,48,99,.28); -webkit-backdrop-filter:blur(16px) saturate(1.25); backdrop-filter:blur(16px) saturate(1.25); font-size:14px; letter-spacing:.055em; text-shadow:0 1px 2px rgba(3,35,74,.45); text-transform:uppercase; }
.nav-cta:hover,.button:hover { transform:translateY(-3px); }
.nav-cta span,.button span { display:inline-block; transition:transform .25s ease; }
.nav-cta:hover span,.button:hover span { transform:translate(3px,-3px); }
.button.primary { color:white; background:linear-gradient(145deg,#397ce9,#2059bd); box-shadow:9px 9px 18px rgba(69,96,132,.28),-7px -7px 18px rgba(255,255,255,.86),inset 1px 1px 1px rgba(255,255,255,.38); }
.button.soft { color:var(--navy); background:var(--surface); box-shadow:var(--shadow-soft); }
.button.light { position:relative; min-height:54px; padding-inline:25px; border:1px solid rgba(218,239,255,.6); color:white; background:linear-gradient(145deg,rgba(157,204,239,.72) 0%,rgba(74,139,198,.6) 52%,rgba(27,80,140,.72) 100%); box-shadow:0 16px 28px rgba(0,9,24,.32),inset 1px 2px 1px rgba(255,255,255,.5),inset -2px -3px 5px rgba(7,46,94,.28); -webkit-backdrop-filter:blur(16px) saturate(1.24); backdrop-filter:blur(16px) saturate(1.24); text-shadow:0 1px 2px rgba(3,34,72,.46); }
.nav-cta:hover,.button.light:hover { transform:translateY(-4px); filter:saturate(1.06) brightness(1.05); box-shadow:0 19px 30px rgba(0,9,25,.34),inset 1px 2px 1px rgba(255,255,255,.54),inset -2px -3px 5px rgba(7,46,94,.25); }
.button:active { transform:translateY(0); box-shadow:var(--shadow-in); }
.nav-cta:active,.button.light:active { transform:translateY(3px); filter:none; box-shadow:0 6px 10px rgba(0,8,22,.3),inset 2px 3px 7px rgba(7,46,94,.3),inset -1px -1px 2px rgba(255,255,255,.25); }
.menu { display:none; width:46px; height:46px; padding:12px; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:linear-gradient(145deg,#173f72,#091e3b); box-shadow:7px 8px 16px rgba(0,10,26,.38),-3px -3px 9px rgba(255,255,255,.08); }
.menu span { display:block; width:100%; height:2px; margin:4px 0; border-radius:4px; background:#eaf3ff; transition:.25s; }
.menu.open span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.menu.open span:nth-child(2) { opacity:0; }
.menu.open span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

.page-enter { animation:page-in .45s ease both; }
.reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal.show { opacity:1; transform:none; }

#app {
  min-height: 70vh;
  opacity: 1;
  transform: translateY(0);
  transition: opacity .26s ease;
  will-change: opacity;
}

.is-route-changing #app {
  opacity: 1;
  transform: none;
  pointer-events: none;
}

.is-route-changing .reveal {
  transition-duration: .2s !important;
}
.eyebrow { display:flex; align-items:center; gap:10px; color:#294f7e; font-size:13px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.eyebrow::before { content:""; width:12px; height:12px; flex:0 0 12px; border-radius:50%; background:radial-gradient(circle at 34% 30%,#edfff2,#70f09f 42%,#19a955 75%); box-shadow:0 0 0 4px rgba(72,232,128,.09),0 0 13px rgba(68,239,129,.8); animation:contact-status 2.15s ease-in-out infinite; }
.display { margin:0; font:300 clamp(66px,8.4vw,130px)/.9 "Montserrat","Jost","Century Gothic",system-ui,sans-serif; letter-spacing:-.035em; }
.display em,.section-title em,.statement em { color:var(--blue); font-weight:400; }
.lead { max-width:610px; color:var(--ink-soft); font-size:clamp(16px,1.5vw,19px); line-height:1.65; }
.actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }

.home-hero { min-height:calc(100svh - 104px); padding-block:38px 34px; display:grid; grid-template-columns:minmax(0,.88fr) minmax(460px,1.12fr); gap:42px; align-items:stretch; perspective:1500px; }
.home-copy { display:flex; flex-direction:column; justify-content:center; padding:5vw 1vw 5vw .5vw; }
.home-copy .display { margin:clamp(44px,7vh,90px) 0 26px; font-size:clamp(68px,8.2vw,126px); }
.visual-card { --rx:0deg; --ry:0deg; position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.72); border-radius:var(--radius-xl); background:#c9d7e9; box-shadow:24px 26px 56px rgba(69,91,124,.32),-16px -16px 42px rgba(255,255,255,.9),inset 1px 1px 0 white; transform:perspective(1200px) rotateX(var(--rx)) rotateY(var(--ry)) translateZ(0); transform-style:preserve-3d; transition:transform .18s ease-out,box-shadow .35s ease; }
.visual-card:hover { box-shadow:30px 34px 70px rgba(58,81,117,.36),-16px -16px 42px rgba(255,255,255,.9),inset 1px 1px 0 white; }
.visual-card img { width:100%; height:100%; object-fit:cover; transform:scale(1.015) translateZ(30px); transition:transform .7s ease; }
.visual-card:hover img { transform:scale(1.045) translateZ(38px); }
.hero-visual { min-height:660px; }
.visual-glow { position:absolute; z-index:2; top:8%; right:8%; width:180px; height:180px; border-radius:50%; background:rgba(111,181,255,.17); filter:blur(16px); box-shadow:0 0 90px rgba(83,162,255,.7); pointer-events:none; }
.floating-panel { position:absolute; z-index:3; left:24px; right:24px; bottom:24px; padding:21px 24px; display:flex; justify-content:space-between; align-items:center; gap:18px; border:1px solid rgba(255,255,255,.76); border-radius:24px; color:var(--ink); background:rgba(232,240,250,.78); box-shadow:10px 12px 30px rgba(12,33,62,.22),inset 1px 1px 0 rgba(255,255,255,.9); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); transform:translateZ(65px); }
.floating-panel strong { font:400 28px "Montserrat","Jost","Century Gothic",system-ui,sans-serif; }
.floating-panel span { color:var(--blue); font-size:10px; font-weight:700; letter-spacing:.13em; }
.ticker { --ticker-angle:0deg; position:relative; overflow:hidden; border:1px solid transparent; border-radius:var(--pill); color:white; background:linear-gradient(145deg,#173d70,#09203f) padding-box,conic-gradient(from var(--ticker-angle),rgba(112,203,255,.08) 0 55%,rgba(91,210,225,.82) 64%,rgba(126,139,255,.74) 71%,rgba(112,203,255,.1) 80% 100%) border-box; box-shadow:var(--shadow-dark); animation:ticker-outline 7s linear infinite; }
.ticker::after { content:""; position:absolute; inset:1px; z-index:2; border-radius:inherit; pointer-events:none; box-shadow:inset 0 0 10px rgba(110,205,255,.08); }
.ticker-track { position:relative; z-index:1; display:flex; width:max-content; will-change:transform; animation:marquee 28s linear infinite; }
.ticker-set { display:flex; flex:none; }
.ticker-viewport { position:relative; z-index:1; overflow:hidden; scroll-behavior:auto !important; overflow-anchor:none; }
.ticker-viewport .ticker-track { z-index:auto; animation:none; will-change:auto; }
.ticker span { position:relative; flex:none; padding:17px 31px; font-size:11px; font-weight:700; letter-spacing:.15em; white-space:nowrap; }
.ticker span::after { content:""; position:absolute; top:50%; right:-2px; width:4px; height:4px; border-radius:50%; background:rgba(126,203,255,.76); box-shadow:0 0 7px rgba(89,192,255,.46); transform:translateY(-50%); }
.ticker span:nth-child(even) { color:#80d5ff; }

.section { padding-block:clamp(90px,10vw,150px); }
.section.compact { padding-top:20px; }
.split-head,.statement { display:grid; grid-template-columns:1.3fr .7fr; gap:8vw; align-items:end; }
.section-title,.statement h2 { margin:0; font:300 clamp(54px,7vw,102px)/.94 "Montserrat","Jost","Century Gothic",system-ui,sans-serif; letter-spacing:-.035em; }
.section-title.small { font-size:clamp(54px,6vw,86px); }
.statement p { margin:0; color:var(--ink-soft); font-size:18px; line-height:1.7; }
.card-grid { margin-top:72px; display:grid; gap:24px; }
.card-grid.three { grid-template-columns:repeat(3,1fr); }
.neo-card,.process-card,.service-card,.article-card,.neo-panel,.person-card { border:1px solid rgba(255,255,255,.7); background:linear-gradient(145deg,rgba(240,246,253,.9),rgba(216,228,242,.78)); box-shadow:var(--shadow-out); }
.neo-card { --card-accent:var(--blue); position:relative; min-height:340px; padding:30px; display:flex; flex-direction:column; overflow:hidden; border-radius:var(--radius-lg); transition:transform .3s ease,box-shadow .3s ease; }
.neo-card::before { content:""; position:absolute; top:0; left:30px; width:74px; height:4px; border-radius:0 0 6px 6px; background:var(--card-accent); box-shadow:0 5px 16px color-mix(in srgb,var(--card-accent) 32%,transparent); }
.neo-card.accent-cyan { --card-accent:var(--mint); }
.neo-card.accent-indigo { --card-accent:var(--violet); }
.neo-card:hover { transform:translateY(-8px); box-shadow:24px 26px 56px rgba(84,107,139,.29),-18px -18px 46px rgba(255,255,255,.95); }
.neo-card small,.service-card small,.insight-copy small,.article-card small { color:var(--blue); font-size:11px; font-weight:700; letter-spacing:.13em; }
.neo-card h3 { margin:auto 0 12px; font:400 42px/1 "Montserrat","Jost","Century Gothic",system-ui,sans-serif; }
.neo-card p,.process-card p,.service-card p,.article-card p,.insight-copy p { margin:0; color:var(--ink-soft); line-height:1.6; }
.orb { width:74px; height:74px; margin:28px 0 20px auto; display:grid; place-items:center; border-radius:50%; color:var(--blue); font-weight:700; background:var(--surface); box-shadow:var(--shadow-in); }
.accent-cyan .orb { color:var(--mint); }.accent-indigo .orb { color:var(--violet); }
.feature-band { position:relative; overflow:hidden; margin-bottom:130px; padding:clamp(55px,7vw,92px); display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:center; border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-xl); color:white; background:linear-gradient(145deg,#173e70,#081c37); box-shadow:var(--shadow-dark); }
.feature-band::before { content:""; position:absolute; width:500px; height:500px; right:-230px; top:-280px; border-radius:50%; background:#3688e9; filter:blur(10px); opacity:.32; }
.feature-band > * { position:relative; z-index:1; }
.feature-band h2 { margin:0; font:300 clamp(48px,5.6vw,82px)/.96 "Montserrat","Jost","Century Gothic",system-ui,sans-serif; }
.feature-band h2 em { color:#78cbff; font-weight:400; }
.feature-band p { color:#c9d8ea; font-size:18px; line-height:1.65; }
.light-label { color:#cde5ff; }
.light-label::before { box-shadow:0 0 18px #5bb5ff; }
.metric-row { margin-top:32px; display:flex; gap:14px; }
.metric { flex:1; padding:22px; border:1px solid rgba(255,255,255,.1); border-radius:24px; background:rgba(255,255,255,.065); box-shadow:inset 5px 5px 14px rgba(1,12,29,.3),inset -3px -3px 12px rgba(255,255,255,.07); }
.metric strong { display:block; color:#78cbff; font:400 40px "Montserrat","Jost","Century Gothic",system-ui,sans-serif; }
.metric span { color:#b9cce1; font-size:12px; }
.section-head { margin-bottom:42px; display:flex; justify-content:space-between; align-items:end; }
.link-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.page-link { position:relative; min-height:290px; padding:30px; display:flex; flex-direction:column; overflow:hidden; border:1px solid rgba(255,255,255,.75); border-radius:var(--radius-lg); background:linear-gradient(145deg,#edf5ff,#cddff4); box-shadow:var(--shadow-out); transition:.35s; }
.page-link.blue { background:linear-gradient(145deg,#e5efff,#c6d9f7); }
.page-link::before { content:""; position:absolute; width:210px; height:210px; right:-80px; top:-80px; border-radius:50%; background:rgba(70,139,231,.12); box-shadow:var(--shadow-in); }
.page-link:hover { transform:translateY(-7px); }
.page-link small { font-weight:700; letter-spacing:.14em; }
.page-link h3 { margin:auto 0 0; font:400 clamp(42px,4vw,61px)/.95 "Montserrat","Jost","Century Gothic",system-ui,sans-serif; }
.page-link b,.circle-arrow { position:absolute; right:28px; bottom:26px; width:52px; height:52px; display:grid; place-items:center; border-radius:50%; color:white; background:linear-gradient(145deg,#397ce9,#174da8); box-shadow:7px 7px 16px rgba(76,98,130,.26),-5px -5px 14px rgba(255,255,255,.8); transition:.3s; }
.page-link:hover b,.service-card:hover .circle-arrow { transform:rotate(45deg); }

.page-hero { position:relative; min-height:58vh; margin-top:34px; padding:clamp(70px,9vw,130px) clamp(26px,4vw,64px); display:flex; flex-direction:column; justify-content:center; overflow:hidden; border:1px solid rgba(255,255,255,.65); border-radius:var(--radius-xl); background:linear-gradient(145deg,rgba(239,246,254,.74),rgba(215,228,244,.7)); box-shadow:var(--shadow-out); }
.page-hero .display { position:relative; z-index:1; margin:45px 0 28px; }
.page-hero .lead,.page-hero .eyebrow,.page-hero .actions { position:relative; z-index:1; }
.hero-orb { position:absolute; width:min(44vw,620px); aspect-ratio:1; right:-12%; top:-46%; border-radius:50%; background:radial-gradient(circle at 30% 30%,#f7fbff,#a8c9ef 38%,#5f98dc 72%,#2d5f9c); box-shadow:28px 30px 65px rgba(53,89,134,.27),-14px -14px 40px rgba(255,255,255,.8),inset -18px -20px 40px rgba(18,57,106,.22),inset 14px 14px 30px rgba(255,255,255,.72); opacity:.55; }
.process-grid { margin-top:80px; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.about-photo { height:clamp(420px,44vw,640px); margin-top:70px; }
.about-photo img { object-position:center 46%; }
.process-card { min-height:310px; padding:26px; display:flex; flex-direction:column; border-radius:30px; transition:.3s; }
.process-card:nth-child(2) .process-icon { color:var(--mint); }
.process-card:nth-child(3) .process-icon { color:var(--violet); }
.process-card:nth-child(4) .process-icon { color:var(--blue-bright); }
.process-card:hover { transform:translateY(-7px); }
.process-card > span { color:var(--blue); font-size:12px; font-weight:700; }
.process-icon { width:66px; height:66px; margin:25px 0 18px auto; display:grid; place-items:center; border-radius:22px; color:var(--blue); font-weight:700; box-shadow:var(--shadow-in); }
.process-card h3 { margin:auto 0 8px; font:400 39px "Montserrat","Jost","Century Gothic",system-ui,sans-serif; }
.services-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.service-card { position:relative; min-height:560px; padding:31px; display:flex; flex-direction:column; overflow:hidden; border-radius:38px; transition:transform .3s ease,box-shadow .3s ease; }
.service-card:hover { transform:translateY(-8px); box-shadow:25px 28px 58px rgba(78,103,137,.3),-18px -18px 42px white; }
.service-photo { height:230px; margin:-31px -31px 25px; overflow:hidden; border-radius:38px 38px 24px 24px; border-bottom:1px solid rgba(255,255,255,.78); box-shadow:0 15px 30px rgba(37,61,94,.2),inset 0 -1px 0 rgba(255,255,255,.55); }
.service-photo img { width:100%; height:100%; object-fit:cover; transition:transform .65s ease,filter .65s ease; }
.service-card:hover .service-photo img { transform:scale(1.045); filter:saturate(1.06) contrast(1.02); }
.service-card:nth-child(3) .service-photo img { object-position:center 58%; }
.service-card:nth-child(5) .service-photo img { object-position:center 42%; }
.service-symbol { position:absolute; top:184px; right:28px; width:76px; height:76px; display:grid; place-items:center; border-radius:26px; color:rgba(47,111,235,.9); background:rgba(234,242,251,.86); font:400 30px "Montserrat","Jost","Century Gothic",system-ui,sans-serif; box-shadow:10px 12px 24px rgba(35,61,95,.27),inset 2px 2px 2px rgba(255,255,255,.85),inset -3px -3px 7px rgba(71,101,138,.13); backdrop-filter:blur(12px); }
.service-card h2 { max-width:82%; margin:34px 0 14px; font:400 clamp(42px,4vw,60px)/.96 "Montserrat","Jost","Century Gothic",system-ui,sans-serif; }
.service-card p { max-width:83%; }
.tone-2 { background:linear-gradient(145deg,#e3f4fa,#c9e4ed); }.tone-3 { background:linear-gradient(145deg,#e6edfb,#ccd8ef); }
.tone-2 .service-symbol,.tone-2 small { color:var(--mint); }.tone-3 .service-symbol,.tone-3 small { color:var(--violet); }

.people-section { padding-top:clamp(52px,6.5vw,92px); }
.people-heading { margin-bottom:clamp(30px,4vw,52px); }
.people-heading h2 { max-width:none; margin:20px 0 0; font:400 clamp(40px,4.45vw,64px)/.98 "Montserrat","Jost","Century Gothic",system-ui,sans-serif; letter-spacing:-.03em; white-space:nowrap; }
.people-grid { max-width:1180px; margin-inline:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(22px,2.4vw,32px); perspective:1600px; }
.person-card { position:relative; min-width:0; min-height:320px; padding:0; display:flex; flex-direction:row; overflow:hidden; border:1px solid rgba(139,191,231,.44); border-radius:24px; color:#f7fbff; background:linear-gradient(145deg,#173b68 0%,#0c294e 46%,#061b36 100%); box-shadow:0 25px 48px rgba(20,48,83,.25),0 5px 12px rgba(10,34,65,.18),inset 1px 1px 0 rgba(255,255,255,.22),inset -1px -1px 0 rgba(0,12,30,.35); transform:translateZ(0); transform-style:preserve-3d; transition:transform .5s cubic-bezier(.2,.75,.2,1),box-shadow .5s ease,border-color .5s ease; }
.person-card::before { content:""; position:absolute; z-index:4; inset:0; border-radius:inherit; background:linear-gradient(118deg,rgba(255,255,255,.16),transparent 23%,transparent 72%,rgba(64,167,237,.09)); pointer-events:none; }
.person-card::after { content:""; position:absolute; z-index:3; left:56%; top:25px; bottom:25px; width:1px; background:linear-gradient(transparent,rgba(132,211,255,.48),transparent); pointer-events:none; }
.person-card:nth-child(even) { background:linear-gradient(145deg,#15365f 0%,#0a2749 48%,#061a33 100%); }
.person-card:hover { z-index:2; transform:translateY(-9px) rotateX(1.2deg); border-color:rgba(150,216,255,.82); box-shadow:0 34px 64px rgba(13,39,75,.34),0 12px 24px rgba(16,50,89,.22),0 0 30px rgba(74,178,239,.22),inset 1px 1px 0 rgba(255,255,255,.28),inset -1px -1px 0 rgba(0,10,29,.42); }
.profile-photo { position:relative; z-index:1; width:56%; flex:0 0 56%; align-self:stretch; aspect-ratio:1; overflow:hidden; border:0; border-radius:23px 17px 17px 23px; background:linear-gradient(145deg,#dfeaf6,#f8fbff); box-shadow:7px 0 24px rgba(0,16,40,.26),inset 0 0 0 1px rgba(255,255,255,.72); transform:translateZ(14px); transition:filter .55s ease,transform .55s ease; }
.profile-photo::after { content:""; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(180deg,transparent 58%,rgba(4,25,51,.18)); box-shadow:inset 0 0 0 1px rgba(255,255,255,.62); pointer-events:none; }
.profile-photo img { position:absolute; max-width:none; transition:transform .7s cubic-bezier(.2,.75,.2,1),filter .6s ease; }
.crop-ewa img,.crop-andy img { width:274.2%; height:auto; left:-8.95%; }
.crop-ewa img { top:-4.7%; }
.crop-andy img { top:-128.4%; }
.crop-aga img,.crop-gary img { width:315.3%; height:auto; left:-8.7%; }
.crop-aga img { top:-2.1%; }
.crop-gary img { top:-134.2%; }
.person-card:hover .profile-photo { filter:saturate(1.05) contrast(1.025); transform:translateZ(24px); box-shadow:10px 0 28px rgba(0,16,40,.3),0 0 25px rgba(91,197,255,.18),inset 0 0 0 1px rgba(255,255,255,.78); }
.person-card:hover .profile-photo img { transform:scale(1.04) translateY(-.8%); filter:saturate(1.04) contrast(1.02); }
.person-info { position:relative; z-index:2; min-width:0; min-height:0; padding:clamp(24px,3vw,36px); display:flex; flex:1; flex-direction:column; justify-content:flex-end; background:radial-gradient(circle at 85% 12%,rgba(86,181,240,.14),transparent 40%); transform:translateZ(20px); }
.person-info::before { content:""; width:42px; height:3px; margin-bottom:20px; border-radius:3px; background:linear-gradient(90deg,#72d6ff,#73efa8); box-shadow:0 0 14px rgba(95,211,255,.42); }
.person-info h2 { margin:0; color:#f8fbff; font:500 clamp(28px,2.35vw,36px)/1 "Montserrat","Jost","Century Gothic",system-ui,sans-serif; letter-spacing:-.025em; }
.person-info p { margin:12px 0 0; color:#bdd3e7; font-size:clamp(17px,1.35vw,20px); font-weight:500; line-height:1.35; }

.expert-callout { position:relative; margin-bottom:clamp(78px,8vw,118px); padding:clamp(34px,4.6vw,64px); display:block; overflow:hidden; border:1px solid rgba(170,215,247,.56); border-radius:30px; color:#f5faff; background:linear-gradient(135deg,#153f70 0%,#0a2b53 42%,#051a35 100%); box-shadow:0 38px 72px rgba(16,44,79,.3),0 10px 24px rgba(18,51,90,.2),-8px -8px 24px rgba(255,255,255,.62),inset 1px 1px 0 rgba(255,255,255,.24),inset -1px -1px 0 rgba(0,12,30,.4); transform:translateZ(0); }
.expert-callout::before { content:""; position:absolute; width:440px; aspect-ratio:1; right:-160px; top:-250px; border-radius:50%; background:radial-gradient(circle,rgba(81,193,255,.25),rgba(40,116,196,.08) 44%,transparent 70%); pointer-events:none; }
.expert-callout::after { content:""; position:absolute; width:300px; aspect-ratio:1; left:-120px; bottom:-220px; border-radius:50%; background:radial-gradient(circle,rgba(78,232,155,.14),transparent 68%); pointer-events:none; }
.expert-callout-copy,.expert-signals { position:relative; z-index:1; }
.expert-callout-copy { padding-bottom:clamp(25px,3vw,36px); display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:end; gap:clamp(34px,5vw,76px); border-bottom:1px solid rgba(194,227,250,.22); }
.expert-callout-copy h2 { margin:0; font:400 clamp(34px,3.25vw,46px)/.98 "Montserrat","Jost","Century Gothic",system-ui,sans-serif; letter-spacing:-.028em; }
.expert-roll-line { display:block; min-height:.98em; color:#f7fbff; perspective:800px; white-space:nowrap; word-break:keep-all; }
.expert-roll-line:nth-child(2) { color:#81ceff; }
.expert-roll-letter { display:inline-block; opacity:0; filter:blur(4px); transform:translateX(-.42em); transform-origin:left center; }
.expert-callout.show .expert-roll-letter { animation:expert-letter-in .7s cubic-bezier(.18,.76,.22,1) calc(var(--line-delay) + var(--letter) * 34ms) forwards; }
.expert-callout-copy p { max-width:690px; margin:0; color:#cbdbea; font-size:clamp(17px,1.42vw,20px); font-weight:450; line-height:1.55; }
.expert-signals { margin-top:clamp(24px,3vw,34px); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(18px,2vw,26px); }
.expert-signals article { min-height:220px; padding:clamp(23px,2.4vw,31px); display:flex; flex-direction:column; justify-content:flex-start; border:1px solid rgba(219,240,255,.25); border-radius:20px; background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(98,161,207,.045)); box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),0 14px 26px rgba(0,13,33,.18); backdrop-filter:blur(12px); opacity:0; transform:translateX(46px); transition:transform .3s ease,border-color .3s ease,background .3s ease,box-shadow .3s ease; }
.expert-callout.show .expert-signals article { animation:expert-card-slide .72s cubic-bezier(.18,.76,.22,1) forwards; }
.expert-callout.show .expert-signals article:nth-child(2) { animation-delay:.12s; }
.expert-callout.show .expert-signals article:nth-child(3) { animation-delay:.24s; }
.expert-signals article:first-child { grid-row:auto; min-height:220px; padding:clamp(23px,2.4vw,31px); background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(98,161,207,.045)); }
.expert-signals article:hover { transform:translateY(-5px); border-color:rgba(150,219,255,.55); background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(94,175,225,.075)); box-shadow:inset 1px 1px 0 rgba(255,255,255,.18),0 20px 34px rgba(0,13,33,.24); }
.expert-signals strong,.expert-signals article:first-child strong { margin-bottom:15px; color:#f7fbff; font-size:clamp(15px,1.2vw,17px); letter-spacing:.055em; text-transform:uppercase; }
.expert-signals article span,.expert-signals article:first-child span { color:#bed0e1; font-size:clamp(16px,1.24vw,18px); line-height:1.52; }
.expert-consultation { grid-column:1 / -1; width:min(100%,360px); min-height:64px; padding:9px 10px 9px 18px; display:flex; align-items:center; justify-content:space-between; justify-self:end; gap:12px; border:1px solid rgba(176,240,207,.58); border-radius:20px; color:#fff; background:linear-gradient(145deg,rgba(61,184,126,.78),rgba(17,111,75,.84)); box-shadow:0 11px 22px rgba(0,20,20,.25),inset 1px 1px 0 rgba(255,255,255,.24); text-decoration:none; transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; }
.expert-consultation span { display:grid; gap:1px; font-size:15.5px; font-weight:650; line-height:1.12; }
.expert-consultation small { color:#c7f5da; font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.expert-consultation i { width:40px; height:40px; flex:0 0 40px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.5); border-radius:50%; background:rgba(255,255,255,.14); font-size:19px; font-style:normal; transition:transform .3s ease,background .3s ease; }
.expert-consultation:hover { transform:translateY(-3px); border-color:rgba(214,255,231,.88); box-shadow:0 18px 34px rgba(0,20,20,.31),0 0 25px rgba(75,220,144,.18),inset 1px 1px 0 rgba(255,255,255,.28); }
.expert-consultation:hover i { transform:rotate(45deg); background:rgba(255,255,255,.22); }

.insight-feature { display:grid; grid-template-columns:1.1fr .9fr; gap:30px; perspective:1500px; }
.insight-image { min-height:610px; }
.insight-copy { padding:clamp(36px,4vw,58px); display:flex; flex-direction:column; }
.insight-copy h2 { margin:auto 0 20px; font:400 clamp(46px,4.8vw,70px)/.95 "Montserrat","Jost","Century Gothic",system-ui,sans-serif; }
.read { width:max-content; margin-top:24px; padding:0; display:inline-flex; align-items:center; gap:13px; border:0; color:var(--ink); background:none; font-weight:700; cursor:pointer; }
.read i { width:43px; height:43px; display:grid; place-items:center; border-radius:50%; color:white; background:linear-gradient(145deg,#4385ed,#1d56b8); box-shadow:6px 6px 14px rgba(81,104,137,.25),-5px -5px 12px rgba(255,255,255,.85); font-style:normal; transition:.25s; }
.read:hover i { transform:translateY(-2px) rotate(45deg); }
.articles { margin-top:28px; display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.article-card { min-height:500px; padding:31px; display:flex; flex-direction:column; overflow:hidden; border-radius:36px; }
.article-photo { height:220px; margin:-31px -31px 25px; overflow:hidden; border-radius:36px 36px 22px 22px; box-shadow:0 14px 28px rgba(41,66,99,.18); }
.article-photo img { width:100%; height:100%; object-fit:cover; transition:transform .65s ease; }
.article-card:hover .article-photo img { transform:scale(1.045); }
.article-card.blue { background:linear-gradient(145deg,#e5effe,#cadcf3); }
.article-card:first-child small { color:var(--violet); }
.article-card h3 { margin:auto 0 14px; font:400 42px/1 "Montserrat","Jost","Century Gothic",system-ui,sans-serif; }

.insights-band { position:relative; isolation:isolate; min-height:720px; margin:58px 0 54px; display:flex; align-items:center; overflow:hidden; color:#0b2d54; }
.insights-band > img { position:absolute; z-index:-3; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 58%; filter:saturate(.92) contrast(.96) brightness(1.1); }
.insights-band-shade { position:absolute; z-index:-2; inset:0; background:linear-gradient(90deg,rgba(241,248,255,.92),rgba(230,241,250,.68) 46%,rgba(249,252,255,.76)),linear-gradient(180deg,rgba(255,255,255,.62),rgba(218,231,244,.26)); }
.insights-band-inner { display:grid; grid-template-columns:minmax(330px,.82fr) minmax(560px,1.18fr); gap:34px; align-items:center; padding:72px 0; }
.insights-intro-glass,.insights-glass-tile { border:1px solid rgba(255,255,255,.72); background:linear-gradient(135deg,rgba(255,255,255,.68),rgba(218,236,249,.42)); box-shadow:0 24px 46px rgba(30,67,107,.16),inset 1px 1px 1px rgba(255,255,255,.9),inset -3px -3px 9px rgba(74,111,149,.12); -webkit-backdrop-filter:blur(16px) saturate(135%); backdrop-filter:blur(16px) saturate(135%); }
.insights-intro-glass { padding:clamp(30px,4vw,48px); border-radius:28px; }
.insights-intro-glass .eyebrow { color:#153c66; }
.insights-intro-glass h2 { margin:18px 0 18px; font:500 clamp(38px,4vw,60px)/1 "Montserrat","Jost","Century Gothic",system-ui,sans-serif; letter-spacing:-.025em; }
.insights-intro-glass p { margin:0; color:#365776; font-size:clamp(17px,1.35vw,21px); line-height:1.58; }
.insights-tile-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.insights-glass-tile { min-height:294px; padding:25px 23px; display:flex; flex-direction:column; border-radius:24px; color:#0a315d; text-decoration:none; transition:transform .32s ease,border-color .32s ease,background .32s ease,box-shadow .32s ease; }
.insights-glass-tile span { color:#287fbd; font-size:12px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.insights-glass-tile h3 { margin:22px 0 0; color:#0a315d; font:650 clamp(23px,2vw,31px)/1.08 "Montserrat","Jost","Century Gothic",system-ui,sans-serif; letter-spacing:-.015em; }
.insights-glass-tile i { width:48px; height:48px; margin-top:auto; display:grid; place-items:center; border:1px solid rgba(58,126,190,.32); border-radius:50%; background:linear-gradient(135deg,#e7f5ff,#c7e4fb); color:#0c5e99; box-shadow:inset 1px 1px 1px rgba(255,255,255,.9),0 8px 18px rgba(39,100,157,.16); font-size:22px; font-style:normal; transition:transform .28s ease,background .28s ease,color .28s ease; }
.insights-glass-tile:hover { transform:translateY(-6px); border-color:rgba(255,255,255,.9); background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(210,234,250,.56)); box-shadow:0 28px 56px rgba(30,67,107,.22),0 0 0 4px rgba(84,188,226,.14),inset 1px 1px 1px rgba(255,255,255,.96); }
.insights-glass-tile:hover i { background:linear-gradient(135deg,#5ec6ff,#2d82c6); color:#fff; transform:rotate(45deg); }

.contact-shell { margin-top:34px; padding:clamp(48px,7vw,100px); display:grid; grid-template-columns:.9fr 1.1fr; gap:7vw; align-items:center; border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-xl); color:white; background:linear-gradient(145deg,#173f72,#081b35); box-shadow:var(--shadow-dark); }
.contact-copy .display { margin:45px 0 26px; font-size:clamp(64px,7.6vw,112px); }
.contact-copy .display em { color:#77c9ff; }
.contact-copy .lead { color:#c4d6e9; }
.chips { margin-top:30px; display:flex; flex-wrap:wrap; gap:10px; }
.chip { padding:11px 16px; border:1px solid rgba(255,255,255,.15); border-radius:var(--pill); color:#e4f1ff; background:rgba(255,255,255,.055); box-shadow:inset 3px 3px 9px rgba(0,10,25,.23),inset -2px -2px 7px rgba(255,255,255,.05); cursor:pointer; transition:.25s; }
.chip:hover,.chip.selected { color:white; border-color:#5faeff; background:#2b72ce; box-shadow:0 7px 18px rgba(0,10,28,.22),inset 1px 1px 1px rgba(255,255,255,.3); }
.contact-form { padding:clamp(28px,4vw,46px); display:grid; gap:16px; border:1px solid rgba(255,255,255,.75); border-radius:40px; color:var(--ink); background:linear-gradient(145deg,#eef5fc,#d7e4f2); box-shadow:18px 20px 45px rgba(0,15,37,.32),-6px -6px 22px rgba(255,255,255,.14),inset 1px 1px 0 white; }
.form-heading { margin-bottom:5px; display:flex; align-items:center; justify-content:flex-start; gap:10px; font-weight:700; }
.form-dot { width:12px; height:12px; flex:0 0 12px; border-radius:50%; background:radial-gradient(circle at 34% 30%,#edfff2,#70f09f 42%,#19a955 75%); box-shadow:0 0 0 4px rgba(72,232,128,.09),0 0 13px rgba(68,239,129,.8); animation:contact-status 2.15s ease-in-out infinite; }
.contact-form label { display:grid; gap:7px; color:#435a76; font-size:12px; font-weight:700; }
.field { width:100%; min-height:50px; padding:14px 16px; border:1px solid transparent; border-radius:18px; outline:none; color:var(--ink); background:var(--surface); box-shadow:var(--shadow-in); transition:border .2s,box-shadow .2s; }
.field:focus { border-color:rgba(47,111,235,.55); box-shadow:inset 5px 5px 12px rgba(100,125,157,.18),inset -5px -5px 12px rgba(255,255,255,.86),0 0 0 4px rgba(47,111,235,.1); }
textarea.field { min-height:125px; resize:vertical; }
.submit { margin-top:5px; width:100%; }
.form-note { margin:0; color:#70839a; font-size:11px; text-align:center; }
.hp-field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.submit:disabled { cursor:wait; opacity:.72; transform:none; }
.toast { position:fixed; right:22px; bottom:22px; z-index:200; max-width:min(390px,calc(100% - 44px)); padding:16px 20px; border:1px solid rgba(255,255,255,.65); border-radius:18px; color:white; background:linear-gradient(145deg,#285f9f,#12375f); box-shadow:12px 14px 32px rgba(18,44,78,.32),inset 1px 1px 0 rgba(255,255,255,.25); opacity:0; transform:translateY(20px); pointer-events:none; transition:.3s; }
.toast.show { opacity:1; transform:none; }
.toast.success { left:50%; right:auto; bottom:34px; width:min(590px,calc(100% - 32px)); max-width:none; min-height:112px; padding:23px 27px; display:flex; align-items:center; gap:18px; border-color:rgba(210,255,224,.88); border-radius:26px; background:linear-gradient(145deg,#32a760,#177342 56%,#0d5532); box-shadow:0 24px 54px rgba(5,58,31,.35),inset 1px 1px 0 rgba(255,255,255,.34); transform:translate(-50%,24px) scale(.96); font-size:16px; line-height:1.48; }
.toast.success.show { transform:translate(-50%,0) scale(1); }
.toast.success strong { display:block; margin-bottom:2px; color:#fff; font-size:21px; line-height:1.2; }
.toast-smile { width:62px; height:62px; flex:0 0 62px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.58); border-radius:50%; background:rgba(255,255,255,.18); box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 9px 22px rgba(3,47,25,.2); font-size:31px; }

.interactive-light { --mx:50%; --my:50%; position:relative; isolation:isolate; }
.interactive-light > * { position:relative; z-index:1; }
.interactive-light::after { content:""; position:absolute; z-index:0; inset:0; border-radius:inherit; pointer-events:none; opacity:0; background:radial-gradient(260px circle at var(--mx) var(--my),rgba(255,255,255,.56),transparent 64%); transition:opacity .25s ease; }
.interactive-light:hover::after { opacity:1; }

.footer { position:relative; overflow:hidden; margin-bottom:32px; padding:clamp(42px,5vw,68px); border:1px solid rgba(255,255,255,.1); border-radius:40px; color:white; background:linear-gradient(145deg,#0d315e,#06172e); box-shadow:var(--shadow-dark); }
.footer-glow { position:absolute; width:380px; height:380px; right:-160px; top:-210px; border-radius:50%; background:#3887e5; filter:blur(14px); opacity:.25; }
.footer-top,.footer-bottom { position:relative; z-index:1; }
.footer-top { display:grid; grid-template-columns:minmax(180px,1fr) minmax(150px,.72fr) minmax(270px,1.35fr); align-items:start; gap:clamp(28px,4vw,72px); }
.footer-column,.footer-connect { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.footer-connect { width:min(100%,315px); justify-self:end; align-items:center; }
.footer-column h3,.footer-connect h3 { margin:0 0 10px; color:#7dccff; font:700 18px/1.2 "Montserrat","Jost","Century Gothic",system-ui,sans-serif; letter-spacing:.04em; }
.footer-connect h3 { width:100%; max-width:315px; color:#f6f9ff; font-size:clamp(23px,2vw,30px); line-height:1.08; text-align:center; }
.footer-connect h3 em { display:block; margin-top:5px; color:#78cbff; font-weight:500; white-space:nowrap; }
.footer-column a { color:#d7e5f4; font-size:14px; font-weight:650; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; transition:color .2s ease,transform .2s ease; }
.footer-column a:hover { color:#fff1a6; transform:translateX(4px); }
.footer .footer-cta { position:relative; width:min(100%,315px); min-height:64px; padding:8px 9px 8px 19px; display:flex; align-items:center; justify-content:space-between; gap:14px; overflow:hidden; border:1px solid rgba(173,231,255,.72); border-radius:21px; color:#fff; background:linear-gradient(135deg,rgba(72,170,224,.9),rgba(26,103,174,.92) 48%,rgba(10,57,112,.96)); box-shadow:0 14px 28px rgba(0,8,24,.4),0 0 23px rgba(64,174,232,.16),inset 1px 1px 0 rgba(255,255,255,.5),inset -2px -3px 6px rgba(3,35,78,.3); text-decoration:none; transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease,filter .28s ease; }
.footer .footer-cta::before { content:""; position:absolute; inset:0; background:linear-gradient(110deg,rgba(255,255,255,.24),transparent 31%,transparent 72%,rgba(89,230,177,.1)); pointer-events:none; }
.footer-cta-label { position:relative; z-index:1; display:grid; gap:1px; font-size:15px; font-weight:720; line-height:1.1; text-align:left; }
.footer-cta-label small { color:#c8f7df; font-size:9px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.footer .footer-cta i { position:relative; z-index:1; width:43px; height:43px; flex:0 0 43px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.58); border-radius:50%; background:rgba(255,255,255,.14); box-shadow:inset 1px 1px 0 rgba(255,255,255,.28); font-size:19px; font-style:normal; transition:transform .28s ease,background .28s ease; }
.footer .footer-cta:hover { transform:translateY(-3px); border-color:rgba(213,249,255,.96); box-shadow:0 19px 34px rgba(0,8,24,.45),0 0 30px rgba(73,193,247,.24),inset 1px 1px 0 rgba(255,255,255,.58),inset -2px -3px 6px rgba(3,35,78,.26); filter:saturate(1.08); }
.footer .footer-cta:hover i { transform:rotate(45deg); background:rgba(255,255,255,.23); }
.social-links { width:min(100%,315px); display:flex; align-items:center; justify-content:space-between; flex-wrap:nowrap; gap:9px; }
.social-button { --social:#eaf4ff; width:45px; height:45px; flex:0 0 45px; padding:0; display:grid; place-items:center; border:2px solid var(--social); border-radius:50%; color:var(--social); background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(5,27,56,.76)); box-shadow:7px 8px 15px rgba(0,8,24,.42),-3px -3px 9px rgba(255,255,255,.11),inset 2px 2px 3px rgba(255,255,255,.17),inset -2px -3px 5px rgba(0,9,27,.24); cursor:pointer; transition:transform .22s ease,box-shadow .22s ease,background .22s ease; }
.social-button svg { width:24px; height:24px; overflow:visible; fill:currentColor; stroke:none; }
.social-button.instagram svg { fill:none; stroke:currentColor; stroke-width:2.1; }
.social-button.instagram .fill-dot { fill:currentColor; stroke:none; }
.social-button.youtube .play { fill:#fff; }
.social-button.facebook { --social:#82abff; }
.social-button.linkedin { --social:#71a8ff; }
.social-button.instagram { --social:#ff5aa5; }
.social-button.tiktok { --social:#f5f8ff; }
.social-button.youtube { --social:#ff4a55; }
.social-button.share { --social:#8d96ff; }
.social-button:hover { transform:translateY(-5px) scale(1.05); background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(8,35,71,.82)); box-shadow:9px 12px 20px rgba(0,7,22,.48),-3px -3px 10px rgba(255,255,255,.13),inset 2px 2px 3px rgba(255,255,255,.2); }
.social-button:active { transform:translateY(2px) scale(.98); box-shadow:inset 5px 5px 11px rgba(0,7,24,.48),inset -2px -2px 6px rgba(255,255,255,.09); }
.footer-bottom { margin-top:52px; padding-top:24px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px; border-top:1px solid rgba(255,255,255,.16); color:#aebfd3; font-size:12px; text-align:center; }
.footer-bottom p { max-width:820px; margin:0; line-height:1.7; }
.footer-bottom strong { color:#edf6ff; }
.footer-home-link { color:#edf6ff; text-decoration:underline; text-decoration-color:rgba(126,203,255,.45); text-underline-offset:3px; transition:color .2s ease,text-decoration-color .2s ease; }
.footer-home-link:hover { color:#8fd6ff; text-decoration-color:#8fd6ff; }
.footer-credit { margin-top:5px; color:#c8d8ea; }
.footer-credit strong { letter-spacing:.025em; }
.footer-logo { position:relative; width:120px; height:116px; display:flex; align-items:flex-start; justify-content:flex-start; }
.footer-logo img { width:112px; height:112px; object-fit:contain; image-rendering:auto; filter:none; transition:transform .28s ease,filter .28s ease; }
.footer-logo:hover img { filter:brightness(1.08) saturate(1.08); transform:translateY(-3px) scale(1.04); }
.logo-sparkles { position:absolute; inset:0 auto auto 0; width:112px; height:112px; z-index:3; pointer-events:none; }
.logo-sparkles { contain:strict; transform:translateZ(0); backface-visibility:hidden; }
.logo-sparkles i { position:absolute; width:var(--spark-size,3px); height:var(--spark-size,3px); border-radius:50%; background:#fff; box-shadow:0 0 3px rgba(255,255,255,.96),0 0 7px rgba(255,225,128,.52); opacity:0; transform:translateZ(0) scale(.7); backface-visibility:hidden; will-change:opacity; animation:logo-twinkle var(--spark-duration,4.6s) ease-out var(--spark-delay,0s) infinite; }
.logo-sparkles i::before,.logo-sparkles i::after { content:""; position:absolute; left:50%; top:50%; width:var(--spark-ray,18px); height:1px; border-radius:50%; background:linear-gradient(90deg,transparent,rgba(255,235,170,.22) 18%,#fff 50%,rgba(255,235,170,.22) 82%,transparent); box-shadow:0 0 3px rgba(255,236,178,.36); transform:translate(-50%,-50%); }
.logo-sparkles i::after { transform:translate(-50%,-50%) rotate(90deg); }
.spark-tip-one { left:61%; top:3%; }
.spark-tip-two { left:96%; top:29%; }
.spark-tip-three { left:84%; top:76%; }
.spark-line-one { left:1%; top:31%; }
.spark-line-two { left:10%; top:50%; }
.spark-line-three { left:15%; top:68%; }
.legal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.legal-grid .neo-card { min-height:260px; }
.legal-grid h2 { margin:0 0 18px; font-size:30px; }

/* Unified glass navigation and dimensional surface pass */
.links a,
.nav-cta {
  --tab-rgb:72,150,255;
  min-height:56px;
  border:2px solid rgba(225,242,255,.82);
  border-radius:16px;
  color:#f8fbff;
  -webkit-text-fill-color:#f8fbff;
  background:
    linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.04) 43%,transparent 44%),
    linear-gradient(145deg,rgba(70,137,205,.76),rgba(27,75,133,.82) 54%,rgba(8,37,78,.92));
  box-shadow:0 14px 24px rgba(0,7,23,.38),0 0 18px rgba(var(--tab-rgb),.3),inset 2px 2px 2px rgba(255,255,255,.48),inset -3px -4px 7px rgba(3,30,69,.38);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  font-size:15px;
  font-weight:850;
  letter-spacing:.065em;
  line-height:1;
  text-shadow:0 2px 3px rgba(0,15,43,.86);
  text-transform:uppercase;
  transform:none;
  white-space:nowrap;
}
.links a:nth-child(n) { --tab-rgb:72,150,255; }
.links a::before,
.links a::after { display:none; }
.links a:hover,
.nav-cta:hover {
  color:#fff;
  -webkit-text-fill-color:#fff;
  background:linear-gradient(145deg,rgba(112,185,245,.9),rgba(42,105,177,.9) 54%,rgba(12,51,101,.96));
  box-shadow:0 18px 29px rgba(0,6,22,.42),0 0 25px rgba(var(--tab-rgb),.48),inset 2px 2px 3px rgba(255,255,255,.58),inset -3px -4px 8px rgba(3,30,69,.34);
}
.links a.active {
  color:#061b39;
  -webkit-text-fill-color:#061b39;
  background:linear-gradient(145deg,#eef9ff,#9ed6ff 48%,#4fa0f1);
  box-shadow:0 16px 28px rgba(0,10,34,.42),0 0 30px rgba(94,185,255,.72),inset 2px 2px 3px #fff,inset -3px -4px 8px rgba(15,85,157,.28);
  text-shadow:0 1px 0 rgba(255,255,255,.8);
  transform:none;
}
.nav-cta { padding:17px 24px 14px; }

.home-copy,
.page-hero,
.neo-card,
.process-card,
.service-card,
.article-card,
.neo-panel,
.person-card,
.page-link,
.contact-form,
.floating-panel {
  border-color:rgba(255,255,255,.82);
  box-shadow:20px 23px 48px rgba(67,91,124,.28),-13px -13px 32px rgba(255,255,255,.78),inset 2px 2px 2px rgba(255,255,255,.82),inset -3px -4px 8px rgba(80,107,143,.1);
}
.home-copy { padding-inline:clamp(28px,4vw,62px); border:1px solid rgba(255,255,255,.74); border-radius:var(--radius-xl); background:linear-gradient(145deg,rgba(242,248,255,.7),rgba(216,228,243,.5)); }
.visual-card,
.portrait {
  border:1px solid rgba(255,255,255,.9);
  box-shadow:25px 29px 60px rgba(49,74,110,.34),-14px -14px 36px rgba(255,255,255,.86),inset 2px 2px 2px rgba(255,255,255,.78),inset -4px -5px 12px rgba(24,55,94,.14);
}
.ticker,
.feature-band,
.contact-shell,
.footer {
  border:1px solid rgba(194,224,255,.25);
  box-shadow:0 29px 50px rgba(30,54,84,.3),inset 2px 2px 2px rgba(255,255,255,.13),inset -4px -5px 12px rgba(0,8,25,.25);
}
.metric,
.field,
.process-icon,
.service-symbol,
.orb,
.pill-note,
.chip {
  border:1px solid rgba(255,255,255,.52);
  box-shadow:inset 6px 7px 14px rgba(67,91,124,.2),inset -6px -6px 13px rgba(255,255,255,.72),2px 3px 7px rgba(56,80,113,.12);
}
.social-button,
.button,
.read i,
.circle-arrow {
  transform-style:preserve-3d;
  box-shadow:0 13px 21px rgba(0,10,28,.3),inset 2px 2px 2px rgba(255,255,255,.45),inset -3px -4px 7px rgba(4,35,77,.25);
}

/* Compact home-page composition */
body[data-route="home"] .home-hero { min-height:540px; padding-block:22px 20px; grid-template-columns:minmax(0,.94fr) minmax(440px,1.06fr); gap:22px; }
body[data-route="home"] .home-copy { min-height:520px; padding:32px clamp(28px,3.5vw,50px); }
body[data-route="home"] .home-copy .display { margin:24px 0 16px; font-size:clamp(56px,5.8vw,82px); line-height:.91; }
body[data-route="home"] .home-copy .lead { font-size:16px; line-height:1.5; }
body[data-route="home"] .home-copy .actions { margin-top:17px; }
body[data-route="home"] .hero-visual { min-height:520px; }
body[data-route="home"] .floating-panel { left:18px; right:18px; bottom:18px; padding:16px 18px; border-radius:20px; }
body[data-route="home"] .floating-panel strong { font-size:22px; }
body[data-route="home"] .section { padding-block:clamp(70px,7vw,105px); }
body[data-route="home"] .split-head { gap:5vw; }
body[data-route="home"] .section-title { font-size:clamp(50px,5.8vw,78px); }

body[data-route="home"] .ticker { border-radius:24px; color:var(--ink); background:linear-gradient(145deg,rgba(244,249,255,.94),rgba(213,226,242,.9)) padding-box,conic-gradient(from var(--ticker-angle),rgba(63,132,218,.06),rgba(95,190,239,.56),rgba(126,139,255,.36),rgba(63,132,218,.06)) border-box; box-shadow:12px 15px 30px rgba(70,94,128,.2),-8px -8px 22px rgba(255,255,255,.86),inset 1px 1px 1px rgba(255,255,255,.88); }
body[data-route="home"] .ticker::after { inset:5px; border-radius:19px; box-shadow:inset 3px 3px 9px rgba(83,108,142,.12),inset -3px -3px 8px rgba(255,255,255,.72); }
body[data-route="home"] .ticker span { margin:0; padding:16px 18px; border:0; border-radius:0; color:#193a63; background:transparent; box-shadow:none; font-size:11px; letter-spacing:.14em; }
body[data-route="home"] .ticker span:nth-child(even) { color:#2872c9; }
body[data-route="home"] .ticker span::after { display:block; right:-2px; width:4px; height:4px; background:#62a9ea; box-shadow:0 0 8px rgba(54,133,214,.38); }

body[data-route="home"] .home-steps { margin-top:48px; gap:18px; }
body[data-route="home"] .home-steps .neo-card { min-height:420px; padding:22px; border-radius:30px; }
body[data-route="home"] .home-steps .neo-card::before { left:22px; width:58px; height:3px; }
body[data-route="home"] .step-photo { height:155px; margin:-22px -22px 18px; overflow:hidden; border-radius:30px 30px 20px 20px; box-shadow:0 12px 24px rgba(47,72,106,.18); }
body[data-route="home"] .step-photo img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
body[data-route="home"] .neo-card:hover .step-photo img { transform:scale(1.045); }
body[data-route="home"] .home-steps .orb { position:absolute; z-index:2; top:126px; right:22px; width:52px; height:52px; margin:0; border:1px solid rgba(255,255,255,.8); background:rgba(232,241,251,.9); box-shadow:7px 8px 16px rgba(58,84,119,.24),inset 2px 2px 2px rgba(255,255,255,.9); backdrop-filter:blur(10px); }
body[data-route="home"] .home-steps h3 { margin:22px 0 10px; font-size:34px; line-height:1.02; }
body[data-route="home"] .home-steps p { font-size:14px; line-height:1.5; }
body[data-route="home"] .feature-band { margin-bottom:82px; padding:clamp(42px,5vw,64px); gap:5vw; border-radius:38px; }
body[data-route="home"] .feature-band h2 { font-size:clamp(43px,4.5vw,64px); }
body[data-route="home"] .metric { padding:17px; border-radius:19px; }
body[data-route="home"] .metric strong { font-size:32px; }
body[data-route="home"] .page-link { min-height:235px; padding:25px; border-radius:30px; }
body[data-route="home"] .page-link h3 { font-size:clamp(36px,3.4vw,50px); }

/* Image-led page heroes */
.image-hero {
  position:relative;
  min-height:clamp(315px,33vw,405px);
  margin-top:24px;
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(255,255,255,.86);
  border-radius:44px;
  background:#152b46;
  box-shadow:0 31px 58px rgba(50,75,107,.28),-12px -12px 30px rgba(255,255,255,.74),inset 2px 2px 2px rgba(255,255,255,.65);
}
.image-hero-media {
  position:absolute;
  inset:0;
  z-index:-3;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.86) contrast(1.04);
  transform:scale(1.015);
  transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .7s ease;
}
.image-hero:hover .image-hero-media { transform:scale(1.045); filter:saturate(.96) contrast(1.05); }
.image-hero-shade {
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(4,20,40,.9) 0%,rgba(7,30,57,.76) 42%,rgba(8,31,57,.22) 72%,rgba(7,24,43,.12) 100%),
    linear-gradient(0deg,rgba(5,20,37,.44),transparent 58%);
}
.image-hero-shade::after {
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(224,241,255,.22);
  border-radius:30px;
  box-shadow:inset 0 0 30px rgba(255,255,255,.055);
  pointer-events:none;
}
.image-hero-content {
  position:relative;
  width:min(930px,84%);
  min-height:inherit;
  padding:clamp(30px,4vw,50px) clamp(38px,5.5vw,74px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  color:#fff;
}
.image-hero .eyebrow { position:absolute; top:clamp(26px,3vw,40px); left:clamp(38px,5vw,64px); z-index:2; color:#e6f5ff; font-size:13px; font-weight:800; letter-spacing:.16em; text-shadow:0 2px 12px rgba(0,13,31,.62); }
.image-hero .eyebrow::before { width:12px; height:12px; flex:0 0 12px; background:radial-gradient(circle at 34% 30%,#edfff2,#70f09f 42%,#19a955 75%); box-shadow:0 0 0 4px rgba(72,232,128,.09),0 0 13px rgba(68,239,129,.8); animation:contact-status 2.15s ease-in-out infinite; }
.image-hero .display {
  max-width:900px;
  margin:20px 0 24px;
  color:#fff;
  font-size:clamp(44px,4.8vw,71px);
  line-height:.91;
  letter-spacing:-.04em;
  text-shadow:0 4px 24px rgba(0,10,28,.52);
  transform:translateY(-12px);
}
.image-hero .display em { color:#81ceff; text-shadow:0 0 24px rgba(68,171,255,.24); }
.image-hero .lead { max-width:780px; margin:0; color:#e0ebf5; font-size:clamp(15px,1.25vw,18px); line-height:1.5; text-shadow:0 2px 15px rgba(0,12,30,.6); }
.hero-actions { margin-top:18px; gap:14px; }
.hero-button {
  min-width:205px;
  min-height:50px;
  padding:13px 24px;
  border:1px solid rgba(234,247,255,.58);
  border-radius:17px;
  color:#f9fcff;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(205,230,249,.018) 50%,rgba(28,72,116,.04));
  box-shadow:inset 1px 1px 1px rgba(255,255,255,.2),inset -1px -2px 4px rgba(2,25,58,.06)!important;
  -webkit-backdrop-filter:blur(4px) saturate(1.03);
  backdrop-filter:blur(4px) saturate(1.03);
  font-size:13px;
  font-weight:800;
  letter-spacing:.055em;
  text-shadow:0 2px 3px rgba(0,13,33,.64);
  text-transform:uppercase;
}
.hero-button.primary { background:linear-gradient(145deg,rgba(127,198,246,.085),rgba(70,132,190,.035) 54%,rgba(13,53,105,.05)); }
.hero-button.secondary { color:#fff; background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(188,216,239,.012) 50%,rgba(5,30,63,.035)); }
.hero-button:hover { transform:translateY(-2px); filter:none; background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(140,198,239,.045) 52%,rgba(15,55,98,.065)); box-shadow:inset 1px 1px 1px rgba(255,255,255,.28),inset -1px -2px 4px rgba(2,25,58,.06)!important; }
.hero-button:active { transform:translateY(1px); filter:none; box-shadow:inset 2px 2px 6px rgba(2,23,54,.14),inset -1px -1px 2px rgba(255,255,255,.1)!important; }

body[data-route="home"] .home-image-hero { min-height:clamp(300px,31vw,375px); }
body[data-route="home"] .home-image-hero .image-hero-media { object-position:center 52%; }
body[data-route="home"] .home-image-hero .image-hero-content { width:min(980px,86%); justify-content:flex-start; padding-top:clamp(72px,6.8vw,90px); }
body[data-route="home"] .home-image-hero .display { width:min(100%,820px); max-width:820px; margin-top:clamp(18px,2.2vw,28px); font-size:clamp(38px,4.25vw,62px); line-height:.93; transform:none; }
body[data-route="home"] .home-image-hero .hero-actions { margin-top:22px; }
body[data-route="services"] .image-hero-media { object-position:center 48%; }
body[data-route="people"] .image-hero-media { object-position:center 53%; }
body[data-route="insights"] .image-hero-media { object-position:center 59%; }
body[data-route="contact"] .image-hero-media { object-position:center 52%; }

.contact-section {
  position:relative;
  margin-block:clamp(38px,5vw,70px);
  padding:clamp(20px,2.4vw,32px);
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:clamp(18px,2.2vw,30px);
  align-items:stretch;
  overflow:hidden;
  border:1px solid rgba(229,243,255,.64);
  border-radius:38px;
  background:
    linear-gradient(105deg,rgba(5,24,47,.82),rgba(13,45,76,.63) 48%,rgba(4,24,46,.79)),
    url('/assets/photo-city-towers.webp') center 48%/cover no-repeat;
  box-shadow:0 25px 48px rgba(31,58,91,.27),inset 1px 1px 1px rgba(255,255,255,.23);
}
.contact-choice {
  min-height:430px;
  padding:clamp(26px,3vw,38px);
  border:1px solid rgba(235,247,255,.48);
  border-radius:28px;
  color:#f5faff;
  background:linear-gradient(145deg,rgba(225,240,252,.2),rgba(75,117,153,.11) 52%,rgba(4,27,55,.22));
  box-shadow:0 18px 35px rgba(0,11,30,.3),inset 1px 1px 1px rgba(255,255,255,.28);
  -webkit-backdrop-filter:blur(17px) saturate(1.1);
  backdrop-filter:blur(17px) saturate(1.1);
}
.contact-choice .eyebrow { color:#e9f5ff; font-size:13px; font-weight:800; letter-spacing:.16em; text-shadow:0 2px 10px rgba(0,12,30,.55); }
.contact-choice .eyebrow::before,
.form-dot {
  width:12px;
  height:12px;
  flex:0 0 12px;
  background:radial-gradient(circle at 34% 30%,#edfff2,#70f09f 42%,#19a955 75%);
  box-shadow:0 0 0 4px rgba(72,232,128,.09),0 0 13px rgba(68,239,129,.8);
  animation:contact-status 2.15s ease-in-out infinite;
}
.contact-choice h2 { max-width:440px; margin:clamp(27px,3vw,39px) 0 12px; font:400 clamp(38px,3.8vw,54px)/.96 "Montserrat","Jost","Century Gothic",system-ui,sans-serif; }
.contact-choice p { max-width:520px; color:#d6e4f0; font-size:15px; line-height:1.55; }
.contact-choice .chips { margin-top:23px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
#contact-areas { scroll-margin-top: 130px; }
.contact-choice .chip {
  --chip-accent:#72c7ff;
  --chip-wash:rgba(74,166,231,.2);
  --chip-glow:rgba(50,150,222,.2);
  position:relative;
  min-height:53px;
  padding:11px 34px 11px 30px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--chip-accent) 48%,rgba(235,247,255,.34));
  border-radius:23px 11px 23px 11px;
  color:#f5fbff;
  background:radial-gradient(circle at 0 0,var(--chip-wash),transparent 52%),linear-gradient(145deg,rgba(255,255,255,.15),rgba(145,193,226,.055));
  box-shadow:0 8px 17px rgba(0,11,31,.2),inset 1px 1px 1px rgba(255,255,255,.24);
  -webkit-backdrop-filter:blur(9px);
  backdrop-filter:blur(9px);
  font-size:clamp(14px,1.05vw,16px);
  font-weight:400;
  line-height:1.15;
  text-align:center;
  transition:transform .28s ease,border-color .28s ease,background .28s ease,box-shadow .28s ease;
  user-select:none;
}
.contact-choice .chip input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }
.contact-choice .chip:has(input:focus-visible) { outline:3px solid color-mix(in srgb,var(--chip-accent) 52%,white 48%); outline-offset:3px; }
.contact-choice .chip::before { content:""; position:absolute; left:13px; top:13px; width:8px; height:8px; border-radius:50%; background:var(--chip-accent); box-shadow:0 0 0 4px color-mix(in srgb,var(--chip-accent) 13%,transparent),0 0 13px var(--chip-accent); opacity:.9; transition:transform .28s ease,opacity .28s ease; }
.contact-choice .chip::after { content:"✓"; position:absolute; right:13px; top:50%; width:21px; height:21px; display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--chip-accent) 72%,white 28%); border-radius:50%; color:#fff; background:color-mix(in srgb,var(--chip-accent) 42%,rgba(8,36,69,.78)); box-shadow:0 0 13px var(--chip-glow); opacity:0; transform:translateY(-50%) scale(.62); transition:opacity .24s ease,transform .24s ease; font-size:12px; font-weight:800; }
.contact-choice .chip:nth-child(2n) { border-radius:11px 23px 11px 23px; }
.contact-choice .chip:nth-child(1) { --chip-accent:#6fb9ff; --chip-wash:rgba(62,136,228,.22); --chip-glow:rgba(62,136,228,.24); }
.contact-choice .chip:nth-child(2) { --chip-accent:#61d3d7; --chip-wash:rgba(45,183,192,.2); --chip-glow:rgba(45,183,192,.23); }
.contact-choice .chip:nth-child(3) { --chip-accent:#a899ff; --chip-wash:rgba(126,103,231,.2); --chip-glow:rgba(126,103,231,.23); }
.contact-choice .chip:nth-child(4) { --chip-accent:#6fe3a0; --chip-wash:rgba(54,188,115,.2); --chip-glow:rgba(54,188,115,.23); }
.contact-choice .chip:nth-child(5) { --chip-accent:#66cfff; --chip-wash:rgba(52,171,225,.21); --chip-glow:rgba(52,171,225,.24); }
.contact-choice .chip:nth-child(6) { --chip-accent:#8da9ff; --chip-wash:rgba(85,119,222,.21); --chip-glow:rgba(85,119,222,.24); }
.contact-choice .chip:nth-child(7) { --chip-accent:#f0a8c6; --chip-wash:rgba(211,99,148,.17); --chip-glow:rgba(211,99,148,.2); }
.contact-choice .chip:nth-child(8) { --chip-accent:#73dfc5; --chip-wash:rgba(51,183,152,.19); --chip-glow:rgba(51,183,152,.22); }
.contact-choice .chip:nth-child(9) { --chip-accent:#ffd27a; --chip-wash:rgba(219,164,67,.18); --chip-glow:rgba(219,164,67,.21); }
.contact-choice .chip:hover,.contact-choice .chip.selected {
  color:#fff;
  border-color:color-mix(in srgb,var(--chip-accent) 82%,white 18%);
  background:radial-gradient(circle at 0 0,var(--chip-wash),transparent 58%),linear-gradient(145deg,rgba(255,255,255,.22),rgba(73,135,180,.12));
  box-shadow:0 12px 24px var(--chip-glow),0 0 0 1px color-mix(in srgb,var(--chip-accent) 20%,transparent),inset 1px 1px 1px rgba(255,255,255,.26);
  transform:translateY(-3px);
}
.contact-choice .chip:hover::before,.contact-choice .chip.selected::before { transform:scale(1.2); opacity:1; }
.contact-choice .chip.selected { transform:translateY(-2px); background:radial-gradient(circle at 0 0,var(--chip-wash),transparent 62%),linear-gradient(145deg,rgba(255,255,255,.27),rgba(71,138,186,.17)); box-shadow:0 14px 27px var(--chip-glow),0 0 0 2px color-mix(in srgb,var(--chip-accent) 32%,transparent),inset 1px 1px 1px rgba(255,255,255,.3); }
.contact-choice .chip.selected::after { opacity:1; transform:translateY(-50%) scale(1); }
.contact-form {
  min-height:430px;
  padding:clamp(25px,2.8vw,36px);
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:start;
  gap:13px 15px;
  border:1px solid rgba(235,247,255,.52);
  border-radius:28px;
  color:#f4f9ff;
  background:linear-gradient(145deg,rgba(225,240,252,.25),rgba(103,143,177,.13) 54%,rgba(7,31,59,.25));
  box-shadow:0 18px 35px rgba(0,11,30,.32),inset 1px 1px 1px rgba(255,255,255,.29);
  -webkit-backdrop-filter:blur(19px) saturate(1.12);
  backdrop-filter:blur(19px) saturate(1.12);
}
.contact-form .form-heading,
.contact-form label:nth-of-type(3),
.contact-form label:nth-of-type(4),
.contact-form .hp-field,
.contact-form input[type="hidden"],
.contact-form .form-actions,
.contact-form .form-note { grid-column:1 / -1; }
.form-heading { min-height:28px; margin-bottom:2px; color:#f7fbff; font-size:13px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.contact-form label { gap:7px; color:#e9f3fb; font-size:13.5px; letter-spacing:.02em; }
.contact-form .field {
  min-height:49px;
  padding:12px 15px;
  border:1px solid rgba(255,255,255,.76);
  border-radius:14px;
  color:#0b2746;
  background:linear-gradient(145deg,#fbfdff 0%,#edf5fc 54%,#dfeaf5 100%);
  box-shadow:inset 7px 8px 15px rgba(91,119,150,.2),inset -7px -7px 13px rgba(255,255,255,.94),0 8px 15px rgba(0,14,36,.18),0 1px 0 rgba(255,255,255,.9);
  -webkit-backdrop-filter:blur(9px);
  backdrop-filter:blur(9px);
  font-size:16px;
  font-weight:550;
  line-height:1.4;
}
.contact-form .field::placeholder { color:#657993; opacity:.8; font-size:15.5px; }
.contact-form .field:focus { border-color:rgba(112,240,159,.8); box-shadow:inset 6px 7px 13px rgba(81,112,145,.17),inset -6px -6px 12px rgba(255,255,255,.96),0 8px 16px rgba(0,14,36,.17),0 0 0 4px rgba(78,224,134,.14); }
.contact-form .field[aria-invalid="true"] { border-color:rgba(255,126,126,.95); box-shadow:inset 6px 7px 13px rgba(126,65,75,.14),inset -6px -6px 12px rgba(255,255,255,.94),0 0 0 4px rgba(255,91,91,.14); }
.field-error { min-height:0; color:#ffd2d2; font-size:12.5px; font-weight:650; line-height:1.35; }
.field-error:empty { display:none; }
.optional-label { margin-left:6px; color:#c6d5e5; font-size:11px; font-weight:500; letter-spacing:.03em; }
.contact-form textarea.field { min-height:112px; }
.form-actions { margin-top:3px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.contact-form .enquiry-action { width:100%; min-width:0; min-height:64px; margin:0; padding:9px 10px 9px 18px; display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid rgba(229,245,255,.64); border-radius:22px; color:#fff; cursor:pointer; -webkit-backdrop-filter:blur(13px); backdrop-filter:blur(13px); transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,filter .28s ease; }
.contact-form .enquiry-action.general { background:linear-gradient(145deg,rgba(112,187,235,.74),rgba(35,101,169,.72) 54%,rgba(8,48,100,.82)); box-shadow:0 11px 22px rgba(0,11,31,.29),inset 1px 2px 1px rgba(255,255,255,.36),inset -2px -3px 5px rgba(7,46,94,.2); }
.contact-form .enquiry-action.consultation { border-color:rgba(185,249,215,.66); background:linear-gradient(145deg,rgba(69,181,129,.8),rgba(21,121,81,.78) 56%,rgba(9,73,53,.88)); box-shadow:0 11px 22px rgba(0,34,26,.3),inset 1px 2px 1px rgba(255,255,255,.29),inset -2px -3px 5px rgba(4,58,39,.24); }
.action-label { display:grid; gap:1px; text-align:left; font-size:15.5px; font-weight:650; line-height:1.12; }
.action-label small { color:rgba(239,248,255,.76); font-size:10px; font-weight:650; letter-spacing:.13em; text-transform:uppercase; }
.action-arrow { width:40px; height:40px; flex:0 0 40px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.52); border-radius:50%; background:rgba(255,255,255,.13); box-shadow:inset 0 1px 0 rgba(255,255,255,.25); font-size:19px; transition:transform .3s ease,background .3s ease; }
.contact-form .enquiry-action:hover { transform:translateY(-3px); border-color:rgba(255,255,255,.86); filter:saturate(1.08); box-shadow:0 15px 27px rgba(0,10,30,.34),inset 1px 2px 1px rgba(255,255,255,.4); }
.contact-form .enquiry-action:hover .action-arrow { transform:rotate(45deg); background:rgba(255,255,255,.22); }
.contact-form .form-note { margin-top:2px; color:#a9f3c5; font-size:12px; font-weight:600; line-height:1.5; text-align:left; }
.contact-form .form-note strong { color:inherit; font-weight:750; }
body[data-route="contact"] .image-hero { min-height:clamp(285px,29vw,350px); }
body[data-route="contact"] .image-hero .display { font-size:clamp(39px,4.2vw,61px); }

/* Focused About-page story tiles */
body[data-route="about"] .image-hero,
body[data-route="faq"] .image-hero,
body[data-route="terms"] .image-hero,
body[data-route="privacy"] .image-hero { min-height:clamp(300px,31vw,375px); }
body[data-route="about"] .image-hero-content,
body[data-route="faq"] .image-hero-content,
body[data-route="terms"] .image-hero-content,
body[data-route="privacy"] .image-hero-content { justify-content:flex-start; padding-top:clamp(72px,6.8vw,90px); }
body[data-route="about"] .image-hero .display,
body[data-route="faq"] .image-hero .display,
body[data-route="terms"] .image-hero .display,
body[data-route="privacy"] .image-hero .display { width:min(100%,820px); max-width:820px; margin-top:clamp(18px,2.2vw,28px); font-size:clamp(38px,4.25vw,62px); line-height:.93; transform:none; }
body[data-route="about"] .hero-actions,
body[data-route="faq"] .hero-actions,
body[data-route="terms"] .hero-actions,
body[data-route="privacy"] .hero-actions { margin-top:22px; }
body[data-route="people"] .image-hero { min-height:clamp(300px,31vw,375px); }
body[data-route="people"] .image-hero-content { justify-content:flex-start; padding-top:clamp(72px,6.8vw,90px); }
body[data-route="people"] .image-hero .display { width:min(100%,860px); max-width:860px; margin-top:clamp(18px,2.2vw,28px); font-size:clamp(38px,4.25vw,62px); line-height:.93; transform:none; }
body[data-route="people"] .hero-actions { margin-top:22px; }
body[data-route="services"] .image-hero,
body[data-route="insights"] .image-hero,
body[data-route="contact"] .image-hero { min-height:clamp(300px,31vw,375px); }
body[data-route="services"] .image-hero-content,
body[data-route="insights"] .image-hero-content,
body[data-route="contact"] .image-hero-content { justify-content:flex-start; padding-top:clamp(72px,6.8vw,90px); }
body[data-route="services"] .image-hero .display,
body[data-route="insights"] .image-hero .display,
body[data-route="contact"] .image-hero .display { width:min(100%,900px); max-width:900px; margin-top:clamp(18px,2.2vw,28px); font-size:clamp(38px,4.25vw,62px); line-height:.93; transform:none; }
body[data-route="services"] .hero-actions,
body[data-route="insights"] .hero-actions,
body[data-route="contact"] .hero-actions { margin-top:22px; }
.about-rotator {
  position:relative;
  display:block;
  width:min(100%,760px);
  height:1.18em;
  margin-top:.38em;
  overflow:hidden;
  color:#80ceff;
  font-size:.72em;
  font-style:italic;
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.025em;
  text-shadow:0 0 24px rgba(68,171,255,.25);
}
.about-phrase {
  position:absolute;
  inset:0 auto auto 0;
  display:flex;
  align-items:baseline;
  white-space:nowrap;
}
.about-letter {
  display:inline-block;
  opacity:0;
  transform-origin:50% 100%;
  animation:about-letter-roll 8s cubic-bezier(.2,.72,.25,1) calc(var(--phrase-delay) + var(--letter) * 52ms) infinite;
}
.about-tiles {
  margin-block:clamp(38px,5vw,68px);
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);
  gap:18px;
}
.about-side { display:grid; grid-template-rows:1fr 1fr; gap:18px; }
.about-tile {
  position:relative;
  overflow:hidden;
  padding:clamp(25px,2.7vw,36px);
  border:1px solid rgba(255,255,255,.8);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(241,248,255,.9),rgba(210,226,244,.76));
  box-shadow:0 20px 38px rgba(52,78,111,.22),inset 1px 1px 1px rgba(255,255,255,.76);
}
.about-tile .tile-kicker {
  display:flex;
  align-items:center;
  gap:9px;
  color:#35618f;
  font-size:13px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.about-tile .tile-kicker::before {
  content:"";
  width:12px;
  height:12px;
  flex:0 0 12px;
  border-radius:50%;
  background:radial-gradient(circle at 34% 30%,#edfff2,#70f09f 42%,#19a955 75%);
  box-shadow:0 0 0 4px rgba(72,232,128,.09),0 0 13px rgba(68,239,129,.8);
  animation:contact-status 2.15s ease-in-out infinite;
}
.about-tile h2 { margin:20px 0 12px; color:var(--ink); font:400 clamp(29px,2.8vw,42px)/1 "Montserrat","Jost","Century Gothic",system-ui,sans-serif; letter-spacing:-.025em; }
.about-tile p { margin:0; color:#536a83; font-size:14px; line-height:1.58; }
.about-tile p + p { margin-top:13px; }
.about-who {
  min-height:430px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:#fff;
  background:
    linear-gradient(145deg,rgba(4,23,46,.86),rgba(10,46,80,.64) 58%,rgba(6,29,55,.78)),
    url('/assets/photo-city-towers.webp') center/cover no-repeat;
  box-shadow:0 24px 44px rgba(30,56,89,.3),inset 1px 1px 1px rgba(255,255,255,.22);
}
.about-who .tile-kicker,.about-network .tile-kicker { color:#dff2ff; }
.about-who h2,.about-network h2 { color:#fff; text-shadow:0 3px 18px rgba(0,13,31,.48); }
.about-who p,.about-network p { color:#d8e6f2; text-shadow:0 2px 11px rgba(0,12,29,.38); }
.about-mission,.about-values { min-height:206px; }
.about-mission { background:linear-gradient(145deg,rgba(239,248,255,.94),rgba(199,224,246,.78)); }
.about-values { background:linear-gradient(145deg,rgba(237,244,255,.94),rgba(213,215,247,.76)); }
.about-network {
  grid-column:1 / -1;
  min-height:220px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:clamp(28px,5vw,76px);
  background:
    linear-gradient(100deg,rgba(4,23,46,.91),rgba(10,45,78,.76) 52%,rgba(8,31,57,.55)),
    url('/assets/photo-collaboration.webp') center 47%/cover no-repeat;
}
.about-network p { max-width:850px; }
.about-contact-button {
  min-width:168px;
  min-height:49px;
  border:1px solid rgba(234,247,255,.58);
  border-radius:16px;
  color:#fff;
  background:linear-gradient(145deg,rgba(132,203,245,.48),rgba(40,105,169,.48) 56%,rgba(7,48,99,.63));
  box-shadow:0 11px 22px rgba(0,10,29,.3),inset 1px 2px 1px rgba(255,255,255,.34),inset -2px -3px 5px rgba(7,42,87,.2);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.about-contact-button:hover { transform:translateY(-2px); box-shadow:0 14px 25px rgba(0,9,28,.34),inset 1px 2px 1px rgba(255,255,255,.42),inset -2px -3px 5px rgba(7,42,87,.18); }

/* Bright, compact About overview: one information surface and one image */
.about-overview {
  margin-top:clamp(34px,4.5vw,58px);
  margin-bottom:clamp(16px,1.8vw,24px);
  display:grid;
  grid-template-columns:minmax(0,1.75fr) minmax(260px,.65fr);
  gap:clamp(18px,2.2vw,28px);
  align-items:stretch;
}
.about-story,
.about-image-card {
  border:1px solid rgba(119,157,193,.42);
  border-radius:30px;
  box-shadow:18px 20px 38px rgba(62,86,118,.22),-8px -8px 22px rgba(255,255,255,.88),inset 2px 2px 2px rgba(255,255,255,.86),inset -3px -4px 8px rgba(105,133,164,.12);
}
.about-story {
  padding:clamp(28px,3.4vw,46px);
  color:#102e51;
  background:
    radial-gradient(circle at 92% 8%,rgba(119,209,255,.2),transparent 27%),
    linear-gradient(145deg,rgba(252,254,255,.98),rgba(231,241,251,.96) 56%,rgba(215,229,243,.95));
}
.about-story .tile-kicker {
  display:flex;
  align-items:center;
  gap:10px;
  color:#315d8d;
  font-size:13px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.about-story .tile-kicker::before {
  content:"";
  width:12px;
  height:12px;
  flex:0 0 12px;
  border-radius:50%;
  background:radial-gradient(circle at 34% 30%,#edfff2,#70f09f 42%,#19a955 75%);
  box-shadow:0 0 0 4px rgba(72,232,128,.09),0 0 13px rgba(68,239,129,.8);
  animation:contact-status 2.15s ease-in-out infinite;
}
.about-story h2 { max-width:760px; margin:22px 0 14px; font:400 clamp(34px,3.3vw,51px)/.98 "Montserrat","Jost","Century Gothic",system-ui,sans-serif; letter-spacing:-.03em; }
.about-story .about-intro { max-width:990px; margin:0; color:#425f7b; font-size:clamp(17px,1.35vw,20px); font-weight:400; line-height:1.68; }
.about-story-points { margin-top:25px; padding-top:21px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; border-top:1px solid rgba(83,126,166,.2); }
.about-story-points div { padding:15px 16px; border:1px solid rgba(255,255,255,.82); border-radius:18px; background:linear-gradient(145deg,rgba(255,255,255,.68),rgba(209,225,241,.5)); box-shadow:7px 8px 15px rgba(81,104,133,.13),inset 1px 1px 1px rgba(255,255,255,.9); }
.about-story-points strong { display:block; margin-bottom:7px; color:#173f6d; font-size:14px; letter-spacing:.035em; }
.about-story-points p { margin:0; color:#5c7188; font-size:13px; line-height:1.5; }
.about-story .about-contact-button { min-width:160px; margin-top:27px; border-color:rgba(115,159,196,.62); color:#173f6b; background:linear-gradient(145deg,rgba(255,255,255,.56),rgba(195,221,241,.28) 54%,rgba(133,178,214,.2)); box-shadow:0 10px 21px rgba(63,91,122,.2),inset 2px 2px 2px rgba(255,255,255,.74),inset -2px -3px 6px rgba(54,99,142,.12); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.about-story .about-contact-button:hover { color:#0d315d; background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(183,218,243,.4)); }
.about-image-card { position:relative; min-height:100%; margin:0; overflow:hidden; background:#dce9f5; }
.about-image-card img { width:100%; height:100%; min-height:420px; object-fit:cover; object-position:58% center; filter:saturate(.88) contrast(1.03) brightness(1.06); }
.about-image-card::after { content:none; }
.about-image-card figcaption { position:absolute; z-index:1; left:25px; right:25px; bottom:25px; color:#fff; font:600 clamp(20px,2vw,28px)/1.05 "Montserrat","Jost","Century Gothic",system-ui,sans-serif; text-shadow:0 3px 14px rgba(0,11,29,.72); }
.about-image-card figcaption em { color:#8ed7ff; font-weight:500; }
.about-pillars { margin-bottom:clamp(38px,5vw,66px); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,2vw,24px); }
.about-pillar { position:relative; min-height:clamp(330px,29vw,410px); overflow:hidden; border:1px solid rgba(255,255,255,.78); border-radius:28px; background:#15365a; box-shadow:15px 18px 32px rgba(55,78,108,.24),-7px -7px 19px rgba(255,255,255,.82),inset 1px 1px 1px rgba(255,255,255,.34); }
.about-pillar::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(4,23,45,.08) 15%,rgba(4,23,45,.3) 48%,rgba(3,18,37,.92) 100%); }
.about-pillar img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease; }
.about-pillar:nth-child(1) img { object-position:center 52%; }
.about-pillar:nth-child(2) img { object-position:center 54%; }
.about-pillar:nth-child(3) img { object-position:center 48%; }
.about-pillar:hover img { transform:scale(1.045); filter:saturate(1.06) brightness(1.04); }
.about-pillar > div { position:absolute; z-index:1; left:clamp(21px,2.2vw,31px); right:clamp(21px,2.2vw,31px); bottom:clamp(21px,2.2vw,30px); color:#fff; }
.about-pillar span { display:block; margin-bottom:12px; color:#91d9ff; font-size:clamp(15px,1.15vw,17px); font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.about-pillar p { margin:0; color:#eef7ff; font-size:clamp(17px,1.35vw,20px); line-height:1.52; text-shadow:0 2px 12px rgba(0,9,25,.74); }

/* Single-outline raised photographic footer */
.footer {
  --footer-inset:clamp(22px,2.6vw,34px);
  padding:var(--footer-inset);
  border:0!important;
  border-radius:40px;
  background:
    linear-gradient(90deg,rgba(4,19,39,.9),rgba(7,30,57,.77) 45%,rgba(7,27,50,.68)),
    url('/assets/photo-city-towers.webp') center 58%/cover no-repeat;
  box-shadow:0 22px 44px rgba(20,44,76,.34),-8px -8px 22px rgba(255,255,255,.42)!important;
}
.footer::before {
  content:none;
}
.footer-glow { display:none; }
.footer-top {
  padding:clamp(20px,2.2vw,28px) clamp(23px,2.8vw,36px);
  grid-template-columns:minmax(190px,1fr) minmax(150px,.72fr) minmax(285px,1.3fr);
  align-items:start;
  gap:clamp(25px,3.4vw,58px);
  border:1px solid rgba(231,244,255,.62);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(225,238,249,.16),rgba(112,151,184,.09) 45%,rgba(4,24,50,.27));
  box-shadow:0 18px 38px rgba(0,9,27,.34),inset 1px 1px 1px rgba(255,255,255,.24);
  -webkit-backdrop-filter:blur(15px) saturate(1.08);
  backdrop-filter:blur(15px) saturate(1.08);
}
.footer-brand-block { display:flex; flex-direction:column; align-items:flex-start; }
.footer-brand-block p { max-width:220px; margin:17px 0 0; color:#d2e0ed; font-size:13px; line-height:1.62; }
.footer-logo { width:120px; height:116px; align-items:center; justify-content:flex-start; margin:0; }
.footer-column,.footer-connect { padding-top:4px; }
.footer-column h3,.footer-connect h3 { padding-bottom:13px; border-bottom:1px solid rgba(218,237,252,.3); }
.footer-column h3 { width:100%; color:#eef7ff; font-size:18px; }
.footer-column a { color:#dce8f3; font-size:13px; }
.footer-connect { width:min(100%,315px); }
.footer-connect h3 { color:#f6fbff; }
.footer-bottom { margin-top:15px; padding:0 clamp(18px,2vw,28px) 2px; border-top:0; color:#d0ddeb; font-size:11px; text-shadow:0 2px 8px rgba(0,12,30,.7); }
.footer-bottom p { max-width:940px; line-height:1.5; }
.footer-credit { margin-top:1px; }
.footer-home-link,.footer-home-link:hover { text-decoration:none!important; }
.footer-home-link { color:#f1f7ff; font-weight:800; }
.footer-home-link:hover { color:#8fd6ff; }

/* Single-layer depth audit: dimensional, without a duplicated lower slab */
.links a,
.nav-cta {
  box-shadow:0 12px 24px rgba(0,8,27,.34),0 0 18px rgba(var(--tab-rgb),.3),inset 2px 2px 2px rgba(255,255,255,.48),inset -3px -4px 7px rgba(3,30,69,.38);
}
.links a:hover,
.nav-cta:hover {
  box-shadow:0 16px 29px rgba(0,7,24,.4),0 0 25px rgba(var(--tab-rgb),.48),inset 2px 2px 3px rgba(255,255,255,.58),inset -3px -4px 8px rgba(3,30,69,.34);
}
.links a.active {
  box-shadow:0 15px 28px rgba(0,10,34,.38),0 0 30px rgba(94,185,255,.72),inset 2px 2px 3px #fff,inset -3px -4px 8px rgba(15,85,157,.28);
}
.links a:active,
.nav-cta:active,
.button:not(.hero-button):active,
.social-button:active,
.read i:active,
.circle-arrow:active {
  box-shadow:0 4px 10px rgba(0,8,24,.3),inset 2px 3px 7px rgba(7,46,94,.3),inset -1px -1px 2px rgba(255,255,255,.25);
}
.button:not(.hero-button),
.social-button,
.read i,
.circle-arrow {
  box-shadow:0 9px 19px rgba(0,10,28,.31),inset 2px 2px 2px rgba(255,255,255,.45),inset -3px -4px 7px rgba(4,35,77,.25);
}
.button:not(.hero-button):hover,
.social-button:hover,
.read:hover i,
.circle-arrow:hover {
  box-shadow:0 13px 24px rgba(0,9,27,.36),inset 2px 2px 3px rgba(255,255,255,.52),inset -3px -4px 8px rgba(4,35,77,.22);
}
.links a:active,
.nav-cta:active,
.button:not(.hero-button):active,
.social-button:active,
.read:active i,
.circle-arrow:active {
  box-shadow:0 4px 10px rgba(0,8,24,.3),inset 2px 3px 7px rgba(7,46,94,.3),inset -1px -1px 2px rgba(255,255,255,.25);
}
.footer .footer-cta { box-shadow:0 14px 28px rgba(0,8,24,.4),0 0 23px rgba(64,174,232,.16),inset 1px 1px 0 rgba(255,255,255,.5),inset -2px -3px 6px rgba(3,35,78,.3); }
.ticker,
.feature-band,
.contact-shell,
.image-hero {
  box-shadow:0 25px 49px rgba(30,54,84,.27),-9px -9px 24px rgba(255,255,255,.55),inset 2px 2px 2px rgba(255,255,255,.2),inset -4px -5px 12px rgba(0,8,25,.18);
}
.footer {
  box-shadow:0 22px 44px rgba(20,44,76,.34),-8px -8px 22px rgba(255,255,255,.42)!important;
}

/* Larger, lower and more expressive continuous home ticker */
body[data-route="home"] .ticker {
  min-height:68px;
  margin-top:clamp(20px,2.2vw,32px);
  border-radius:27px;
  background:linear-gradient(145deg,rgba(246,251,255,.97),rgba(211,228,247,.92) 58%,rgba(221,217,250,.84)) padding-box,conic-gradient(from var(--ticker-angle),rgba(53,126,219,.1),rgba(37,184,218,.72),rgba(112,104,235,.56),rgba(53,126,219,.1)) border-box;
  box-shadow:0 18px 36px rgba(48,78,118,.22),-7px -7px 20px rgba(255,255,255,.78),inset 1px 1px 1px rgba(255,255,255,.92);
}
body[data-route="home"] .ticker::after { inset:5px; border-radius:22px; }
body[data-route="home"] .ticker-track { min-height:68px; align-items:center; }
body[data-route="home"] .ticker span {
  padding:21px 25px;
  color:#153b69;
  font-size:clamp(13px,1vw,15px);
  font-weight:850;
  letter-spacing:.15em;
}
body[data-route="home"] .ticker span:nth-child(3n+2) { color:#147fae; }
body[data-route="home"] .ticker span:nth-child(3n) { color:#4c63c7; }
body[data-route="home"] .ticker span::after { width:5px; height:5px; background:#35a6d9; box-shadow:0 0 10px rgba(45,143,211,.5); }

@keyframes page-in { from { opacity:0; } to { opacity:1; } }
@keyframes marquee { to { transform:translateX(var(--ticker-shift,-50%)); } }
@keyframes ticker-outline { to { --ticker-angle:360deg; } }
@keyframes route-loading { 0% { transform:translateX(-110%); } 55% { transform:translateX(92%); } 100% { transform:translateX(245%); } }
@keyframes hero-beacon { 0%,100% { transform:scale(.82); opacity:.72; } 48% { transform:scale(1.16); opacity:1; box-shadow:0 0 0 7px rgba(63,225,126,.07),0 0 19px rgba(67,242,133,1),0 0 34px rgba(39,197,99,.65); } }
@keyframes contact-status {
  0%,100% { transform:scale(.86); opacity:.76; box-shadow:0 0 0 3px rgba(72,232,128,.06),0 0 9px rgba(68,239,129,.48); }
  50% { transform:scale(1.06); opacity:1; box-shadow:0 0 0 5px rgba(72,232,128,.1),0 0 16px rgba(68,239,129,.88); }
}
@keyframes about-letter-roll {
  0%,4% { opacity:0; filter:blur(4px); transform:translateX(-.34em) rotateY(-78deg) scale(.82); }
  9%,39% { opacity:1; filter:blur(0); transform:translateX(0) rotateY(0) scale(1); }
  45%,100% { opacity:0; filter:blur(3px); transform:translateX(.28em) rotateY(68deg) scale(.88); }
}
@keyframes expert-letter-in {
  to { opacity:1; filter:blur(0); transform:translateX(0) rotateY(0) scale(1); }
}
@keyframes expert-card-slide {
  from { opacity:0; transform:translateX(46px); }
  to { opacity:1; transform:translateX(0); }
}
@keyframes logo-twinkle {
  0%,59%,100% { opacity:0; transform:translateZ(0) scale(.45) rotate(-12deg); }
  62% { opacity:.12; transform:translateZ(0) scale(.72) rotate(-5deg); }
  64.2% { opacity:var(--spark-peak,.94); transform:translateZ(0) scale(1.08) rotate(0); }
  66.5% { opacity:.3; transform:translateZ(0) scale(.82) rotate(5deg); }
  69% { opacity:0; transform:translateZ(0) scale(.55) rotate(9deg); }
}

@property --ticker-angle { syntax:"<angle>"; inherits:false; initial-value:0deg; }

@media (max-width:1100px) {
  :root { --shell:min(100% - 40px,1440px); }
  .nav { grid-template-columns:1fr auto; }
  .links,.nav-cta { display:none; }
  .menu { display:block; justify-self:end; }
  .links.open { position:absolute; top:118px; left:0; right:0; padding:16px; display:grid; grid-template-columns:repeat(2,1fr); gap:12px; border:1px solid rgba(255,255,255,.12); border-radius:0 0 26px 26px; background:linear-gradient(145deg,rgba(13,49,94,.99),rgba(6,23,46,.99)); box-shadow:18px 20px 42px rgba(8,28,56,.34); }
  .links.open a { min-width:0; padding:16px; }
  .home-hero { grid-template-columns:1fr; }
  .home-copy { min-height:560px; }
  .hero-visual { min-height:680px; }
  .card-grid.three { grid-template-columns:repeat(2,1fr); }
  .card-grid.three .neo-card:last-child { grid-column:span 2; }
  .process-grid { grid-template-columns:repeat(2,1fr); }
  .people-intro,.insight-feature,.contact-shell { grid-template-columns:1fr; }
  .people-direction,.insight-image { min-height:700px; }
  .contact-shell { gap:50px; }
  body[data-route="home"] .home-hero { min-height:auto; grid-template-columns:1fr; }
  body[data-route="home"] .home-copy { min-height:520px; }
  body[data-route="home"] .hero-visual { min-height:520px; }
  .footer-top { grid-template-columns:150px repeat(2,1fr); }
  .footer-connect { grid-column:2 / 4; }
  .legal-grid { grid-template-columns:1fr 1fr; }
  .image-hero-content { width:min(820px,84%); }
  body[data-route="home"] .home-image-hero .image-hero-content { width:min(820px,84%); }
  .contact-section { grid-template-columns:1fr; }
  .about-tiles { grid-template-columns:1fr; }
  .about-side { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .about-who { min-height:380px; }
  .about-overview { grid-template-columns:minmax(0,1.5fr) minmax(240px,.7fr); }
  .about-pillars { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .people-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .people-heading h2 { white-space:normal; }
  .expert-callout { grid-template-columns:1fr; }
}

@media (max-width:760px) {
  :root { --shell:calc(100% - 28px); --radius-xl:34px; --radius-lg:28px; }
  .nav { top:0; height:100px; margin:0; padding-inline:14px 12px; border-radius:0; }
  .links.open { top:100px; }
  .brand { width:100px; height:98px; }
  .brand img { width:94px; height:94px; }
  .home-hero { min-height:auto; padding-top:22px; gap:24px; }
  .home-copy { min-height:520px; padding:68px 6px 44px; }
  .home-copy .display,.display { font-size:clamp(58px,18vw,82px); }
  .hero-visual { min-height:500px; }
  body[data-route="home"] .home-hero { min-height:auto; padding-block:18px; grid-template-columns:1fr; }
  body[data-route="home"] .home-copy { min-height:470px; padding:42px 24px; }
  body[data-route="home"] .home-copy .display { font-size:clamp(56px,17vw,76px); }
  body[data-route="home"] .hero-visual { min-height:460px; }
  body[data-route="home"] .home-steps .neo-card { min-height:400px; }
  .floating-panel { left:14px; right:14px; bottom:14px; padding:18px; align-items:flex-start; flex-direction:column; }
  .ticker { border-radius:22px; }
  .section { padding-block:85px; }
  .split-head,.statement,.feature-band { grid-template-columns:1fr; }
  .split-head,.statement { gap:30px; }
  .card-grid.three,.services-grid,.people-grid,.articles,.link-grid { grid-template-columns:1fr; }
  .card-grid.three .neo-card:last-child { grid-column:auto; }
  .feature-band { margin-bottom:90px; gap:45px; padding:54px 26px; }
  .metric-row { flex-direction:column; }
  .section-head { align-items:flex-start; flex-direction:column; gap:24px; }
  .page-hero { min-height:65vh; margin-top:24px; padding-inline:25px; }
  .page-hero .display { margin-block:40px 24px; }
  .hero-orb { width:88vw; right:-42%; top:-20%; }
  .process-grid { grid-template-columns:1fr; }
  .service-card { min-height:540px; }
  .service-photo { height:210px; }
  .service-symbol { top:164px; }
  .people-direction,.insight-image { min-height:500px; }
  .people-grid { grid-template-columns:1fr; justify-items:center; gap:24px; }
  .person-card { width:min(100%,430px); min-height:0; flex-direction:column; }
  .person-card::after { left:24px; right:24px; top:auto; bottom:124px; width:auto; height:1px; background:linear-gradient(90deg,transparent,rgba(132,211,255,.48),transparent); }
  .profile-photo { width:100%; flex-basis:auto; align-self:auto; border-radius:29px 29px 18px 18px; transform:translateZ(10px); }
  .person-info { min-height:132px; padding:24px 25px 28px; }
  .person-info::before { margin-bottom:14px; }
  .expert-callout { padding:32px 24px; border-radius:30px; }
  .expert-callout-copy { grid-template-columns:1fr; align-items:start; gap:18px; }
  .expert-callout-copy h2 { font-size:clamp(30px,9.3vw,42px); }
  .expert-roll-line { white-space:normal; }
  .expert-signals { grid-template-columns:1fr; }
  .expert-signals article,.expert-signals article:first-child { grid-row:auto; min-height:auto; }
  .expert-consultation { grid-column:1 / -1; width:100%; justify-self:stretch; }
  .insight-copy { min-height:470px; }
  .contact-shell { width:calc(100% - 20px); padding:62px 20px 22px; }
  .contact-copy .display { font-size:clamp(57px,17vw,78px); }
  .contact-form { min-height:auto; padding:25px 18px; grid-template-columns:1fr; border-radius:24px; }
  .contact-form label,.contact-form .form-actions { grid-column:1 / -1; }
  .contact-form .submit { width:100%; }
  .form-actions { grid-template-columns:1fr; }
  .footer { --footer-inset:14px; padding:var(--footer-inset); border-radius:28px; }
  .footer-top { padding:23px 18px; grid-template-columns:1fr 1fr; gap:23px 16px; justify-items:center; border-radius:22px; text-align:center; }
  .footer-logo { grid-column:auto; }
  .footer-brand-block { grid-column:1 / 3; align-items:center; text-align:center; }
  .footer-brand-block p { max-width:310px; }
  .footer-column { width:100%; align-items:center; text-align:center; }
  .footer-column h3 { text-align:center; }
  .footer-column a:hover { transform:translateY(-2px); }
  .footer-connect { grid-column:1 / 3; width:100%; justify-self:center; align-items:center; text-align:center; }
  .social-links { justify-content:center; flex-wrap:wrap; }
  .footer-bottom { margin-top:12px; padding:0 15px 3px; align-items:center; flex-direction:column; gap:5px; text-align:center; }
  .legal-grid { grid-template-columns:1fr; }
  .image-hero { min-height:330px; margin-top:16px; border-radius:32px; }
  .image-hero-shade { background:linear-gradient(90deg,rgba(4,20,40,.9),rgba(7,30,57,.69)),linear-gradient(0deg,rgba(5,20,37,.4),transparent 58%); }
  .image-hero-shade::after { inset:10px; border-radius:23px; }
  .image-hero-content,body[data-route="home"] .home-image-hero .image-hero-content { width:100%; padding:34px 26px 25px; justify-content:flex-end; }
  .image-hero .eyebrow { top:24px; left:26px; font-size:13px; }
  .image-hero .display { margin:18px 0 20px; font-size:clamp(37px,11vw,54px); transform:translateY(-8px); }
  .image-hero .lead { font-size:14px; }
  .hero-actions { width:100%; margin-top:16px; }
  .hero-button { min-width:0; flex:1 1 210px; }
  body[data-route="home"] .home-image-hero { min-height:350px; }
  body[data-route="people"] .image-hero,
  body[data-route="services"] .image-hero,
  body[data-route="insights"] .image-hero,
  body[data-route="contact"] .image-hero { min-height:350px; }
  .contact-section { margin-block:26px 54px; padding:14px; gap:14px; border-radius:29px; }
  .contact-choice { min-height:auto; padding:27px 22px; border-radius:24px; }
  .contact-choice h2 { margin:25px 0 12px; }
  .contact-choice .chips { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-tiles { margin-block:26px 54px; gap:14px; }
  .about-side { grid-template-columns:1fr; gap:14px; }
  .about-tile { min-height:auto; padding:26px 22px; border-radius:25px; }
  .about-who { min-height:430px; }
  .about-mission,.about-values { min-height:190px; }
  .about-network { grid-template-columns:1fr; align-items:start; gap:24px; }
  .about-contact-button { width:100%; }
  .about-overview { margin-top:26px; margin-bottom:15px; grid-template-columns:1fr; gap:16px; }
  .about-story { padding:28px 22px; border-radius:25px; }
  .about-story h2 { font-size:clamp(34px,10vw,46px); }
  .about-story-points { margin-top:22px; padding-top:18px; grid-template-columns:1fr; }
  .about-image-card { min-height:280px; border-radius:25px; }
  .about-image-card img { min-height:280px; max-height:360px; }
  .about-pillars { margin-bottom:54px; grid-template-columns:1fr; gap:15px; }
  .about-pillar { min-height:330px; border-radius:25px; }
  .about-pillar span { font-size:15px; }
  .about-pillar p { font-size:17px; }
}

/* CONTACT VALIDATION POSITIONING AFTER RESPONSIVE FORM RULES */
.contact-form {
  align-items: start !important;
}

.contact-form label:has(input[name="email"]) {
  position: relative !important;
  padding-bottom: 0 !important;
}

.contact-form label:has(input[name="email"]) .field-error {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: calc(100% + 7px) !important;
  bottom: auto !important;
  display: block !important;
  visibility: visible !important;
  min-height: 0 !important;
  color: #ffb9b9 !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  pointer-events: none !important;
  z-index: 5 !important;
}

.contact-form label:has(input[name="email"]) .field-error:empty {
  display: block !important;
  visibility: hidden !important;
}

@media (max-width:420px) {
  :root { --shell:calc(100% - 20px); }
  .home-copy { min-height:490px; }
  .home-copy .display,.display { font-size:56px; }
  .hero-visual { min-height:430px; }
  .section-title,.statement h2 { font-size:50px; }
  .neo-card,.service-card { padding:24px; }
  .service-card h2 { max-width:100%; font-size:42px; }
  .service-card p { max-width:100%; padding-right:35px; }
  .service-symbol { width:58px; height:58px; border-radius:20px; }
  .people-direction,.insight-image { min-height:420px; }
  .portrait { height:520px; }
  .person-info h2 { font-size:36px; }
  .footer { --footer-inset:10px; padding:var(--footer-inset); }
  .footer-top { padding-inline:14px; gap-inline:10px; }
  .footer-bottom { padding-inline:14px; }
  .links.open { grid-template-columns:1fr; }
  .image-hero { min-height:315px; border-radius:28px; }
  .image-hero-content,body[data-route="home"] .home-image-hero .image-hero-content { padding:34px 20px; }
  .image-hero .display { font-size:35px; }
  .hero-actions { gap:10px; }
  .hero-button { width:100%; min-height:47px; }
  .contact-choice { padding:28px 22px; border-radius:28px; }
  body[data-route="home"] .home-image-hero { min-height:334px; }
  .image-hero .eyebrow { top:21px; left:20px; font-size:13px; }
  .person-card { border-radius:27px; }
  .profile-photo { border-radius:26px 26px 18px 18px; }
  .person-info { min-height:116px; padding:21px 22px 25px; }
  .person-info h2 { font-size:29px; }
  .person-info p { font-size:17px; }
}

/* Inset page content while retaining the wider footer frame. */
#app > .shell:not(.footer) { width:min(1240px,calc(100% - 112px)); }
.contact-choice .chip { font-family:"Montserrat","Jost",system-ui,sans-serif; line-height:1.3; }
body[data-route="contact"] .hero-button, .contact-form .submit { font-family:"Montserrat","Jost",system-ui,sans-serif; text-shadow:none; }
@media (max-width:1100px) { #app > .shell:not(.footer) { width:calc(100% - 72px); } }
@media (max-width:760px) { #app > .shell:not(.footer) { width:calc(100% - 40px); } }
@media (max-width:420px) { #app > .shell:not(.footer) { width:calc(100% - 32px); } }

/* Services image gallery and SPA case-study pages */
.services-gallery { padding-top:58px; }
.services-gallery-heading { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.6fr); align-items:end; gap:44px; margin-bottom:34px; }
.services-gallery-heading h2 { margin:12px 0 0; color:#092d5a; font-size:clamp(36px,4vw,58px); line-height:1; letter-spacing:-.035em; }
.services-gallery-heading h2 em { color:#397fc2; font-style:normal; font-weight:500; }
.services-gallery-heading > p { margin:0 0 5px; color:#506985; font-size:18px; line-height:1.65; }
.services-gallery .services-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.service-case-card { position:relative; isolation:isolate; display:flex; align-items:flex-end; min-height:492px; overflow:hidden; border:1px solid rgba(255,255,255,.92); border-radius:30px; background:#102f51; color:#fff; text-decoration:none; box-shadow:0 24px 42px rgba(17,50,84,.2),0 3px 8px rgba(17,50,84,.09),inset 0 1px 0 rgba(255,255,255,.8); transform:translateZ(0); transition:transform .45s cubic-bezier(.2,.75,.2,1),box-shadow .45s ease; }
.service-case-card > img { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .45s ease; }
.service-case-card:nth-child(1) > img { object-position:50% 52%; }
.service-case-card:nth-child(2) > img { object-position:62% 50%; }
.service-case-card:nth-child(3) > img { object-position:64% 50%; }
.service-case-card:nth-child(4) > img { object-position:58% 50%; }
.service-case-card:nth-child(5) > img { object-position:53% 50%; }
.service-case-card:nth-child(6) > img { object-position:62% 54%; }
.service-case-shade { position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(7,24,43,.02) 20%,rgba(7,24,43,.2) 55%,rgba(4,19,36,.76) 100%); }
.service-case-glass { position:relative; display:flex; flex-direction:column; justify-content:center; width:calc(100% - 34px); min-height:174px; margin:17px; padding:23px 62px 22px 23px; overflow:hidden; border:1px solid rgba(255,255,255,.68); border-radius:23px; background:linear-gradient(135deg,rgba(244,249,255,.26),rgba(9,35,63,.42)); box-shadow:0 15px 30px rgba(0,14,31,.28),inset 2px 2px 2px rgba(255,255,255,.34),inset -3px -3px 8px rgba(0,19,42,.25); -webkit-backdrop-filter:blur(15px) saturate(135%); backdrop-filter:blur(15px) saturate(135%); transition:transform .4s cubic-bezier(.2,.75,.2,1),background .35s ease,border-color .35s ease; }
.service-case-glass::before { content:""; position:absolute; inset:0; background:linear-gradient(115deg,rgba(255,255,255,.22),transparent 35%); pointer-events:none; }
.service-case-glass strong,.service-case-glass span,.service-case-glass i { position:relative; z-index:1; }
.service-case-glass strong { display:block; margin-bottom:10px; font-size:clamp(22px,2vw,29px); line-height:1.05; letter-spacing:-.025em; }
.service-case-glass > span { color:rgba(244,249,255,.92); font-size:15px; line-height:1.45; }
.service-case-glass i { position:absolute; right:17px; top:50%; display:grid; width:41px; height:41px; place-items:center; border:1px solid rgba(255,255,255,.7); border-radius:50%; background:rgba(239,248,255,.15); box-shadow:inset 1px 1px 1px rgba(255,255,255,.34); font-size:22px; font-style:normal; transform:translateY(-50%); transition:transform .35s ease,background .35s ease; }
.service-case-card:hover,.service-case-card:focus-visible { transform:translateY(-8px); box-shadow:0 30px 52px rgba(17,50,84,.27),0 0 0 3px rgba(77,181,239,.18),inset 0 1px 0 #fff; outline:none; }
.service-case-card:hover > img,.service-case-card:focus-visible > img { transform:scale(1.055); filter:saturate(1.08) contrast(1.03); }
.service-case-card:hover .service-case-glass,.service-case-card:focus-visible .service-case-glass { transform:translateY(-5px); border-color:rgba(255,255,255,.9); background:linear-gradient(135deg,rgba(244,249,255,.34),rgba(10,42,75,.49)); }
.service-case-card:hover .service-case-glass i,.service-case-card:focus-visible .service-case-glass i { background:rgba(91,206,255,.3); transform:translateY(-50%) rotate(45deg); }

body[data-route^="services/"] { background:linear-gradient(145deg,#f5f8fc 0%,#e8eff8 55%,#dce7f4 100%); }
.case-study-main { padding:48px 0 72px; }
.case-study-back { display:inline-flex; align-items:center; gap:14px; min-height:58px; margin:0 0 25px 4px; padding:8px 22px 8px 10px; border:1px solid rgba(255,255,255,.82); border-radius:999px; background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(220,234,248,.66)); color:#214d7b; font-size:14px; font-weight:850; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; box-shadow:0 16px 34px rgba(30,67,107,.14),inset 1px 1px 1px rgba(255,255,255,.9),inset -2px -2px 7px rgba(74,111,149,.12); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); transition:transform .28s ease,box-shadow .28s ease,color .28s ease,background .28s ease; }
.case-study-back span { display:grid; width:40px; height:40px; place-items:center; border:1px solid rgba(58,126,190,.28); border-radius:50%; background:linear-gradient(135deg,#e7f5ff,#c7e4fb); color:#0c5e99; box-shadow:inset 1px 1px 1px rgba(255,255,255,.9),0 8px 18px rgba(39,100,157,.16); font-size:24px; line-height:1; transition:transform .28s ease,background .28s ease,color .28s ease; }
.case-study-back:hover,.case-study-back:focus-visible { color:#083e69; background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(207,232,251,.78)); box-shadow:0 19px 40px rgba(30,67,107,.2),0 0 0 4px rgba(84,188,226,.16),inset 1px 1px 1px rgba(255,255,255,.95); outline:none; transform:translateY(-3px); }
.case-study-back:hover span,.case-study-back:focus-visible span { background:linear-gradient(135deg,#5ec6ff,#2d82c6); color:#fff; transform:translateX(-3px); }
.case-study-sheet { width:min(710px,100%); min-height:1004px; margin:0 auto; overflow:hidden; border:1px solid rgba(255,255,255,.96); border-radius:30px; background:rgba(249,252,255,.88); box-shadow:0 35px 80px rgba(20,51,84,.2),0 8px 22px rgba(20,51,84,.1),inset 0 1px 0 #fff; -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); }
.case-study-visual { position:relative; height:415px; margin:0; overflow:hidden; background:#0d2f53; }
.case-study-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(4,22,42,.67)); }
.case-study-visual img { width:100%; height:100%; object-fit:cover; }
.case-study-visual figcaption { position:absolute; z-index:1; left:34px; bottom:25px; color:#fff; font-size:13px; font-weight:800; letter-spacing:.18em; }
.case-study-content { padding:44px 52px 50px; }
.case-study-eyebrow { color:#102845; font-size:13px; letter-spacing:.16em; }
.case-study-eyebrow::before { background:radial-gradient(circle at 34% 30%,#edfff2,#70f09f 42%,#19a955 75%); box-shadow:0 0 0 4px rgba(72,232,128,.11),0 0 14px rgba(68,239,129,.86); animation:contact-status 2.15s ease-in-out infinite; }
.case-study-content h1 { max-width:none; margin:14px 0 17px; color:#0a315d; font-size:clamp(34px,3.1vw,43px); line-height:1.06; letter-spacing:-.025em; white-space:nowrap; }
.case-study-lead { margin:0; color:#496581; font-size:20px; line-height:1.55; }
.case-study-placeholder { margin:34px 0 28px; padding:24px 25px; border:1px solid rgba(95,142,184,.32); border-radius:20px; background:linear-gradient(145deg,rgba(231,240,249,.78),rgba(255,255,255,.65)); box-shadow:inset 2px 2px 3px rgba(255,255,255,.86),inset -3px -3px 9px rgba(93,127,161,.1); }
.case-study-placeholder strong { color:#123b66; font-size:17px; }
.case-study-placeholder p { margin:7px 0 0; color:#667c92; line-height:1.55; }
.case-study-detail { margin:34px 0 28px; padding:27px 28px 29px; border:1px solid rgba(95,142,184,.34); border-radius:22px; background:linear-gradient(145deg,rgba(231,240,249,.88),rgba(255,255,255,.7)); box-shadow:inset 2px 2px 3px rgba(255,255,255,.9),inset -3px -3px 10px rgba(93,127,161,.12),0 15px 28px rgba(31,67,104,.08); }
.case-study-detail p { margin:0 0 18px; color:#365776; font-size:18px; line-height:1.6; }
.case-study-detail ul { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.case-study-detail li { position:relative; padding-left:29px; color:#496581; font-size:17px; line-height:1.5; }
.case-study-detail li::before { content:""; position:absolute; left:0; top:.55em; width:10px; height:10px; border-radius:50%; background:linear-gradient(135deg,#61dba6,#3ba2ef); box-shadow:0 0 0 5px rgba(84,188,226,.14); }
.case-study-detail .case-study-outro { margin:22px 0 0; padding-top:19px; border-top:1px solid rgba(95,142,184,.22); color:#365776; }
.case-study-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:94px; padding:18px 18px 18px 25px; border:1px solid rgba(255,255,255,.76); border-radius:25px; background:linear-gradient(135deg,#20956e,#087250); color:#fff; text-decoration:none; box-shadow:0 16px 30px rgba(8,86,61,.22),inset 2px 2px 2px rgba(255,255,255,.28),inset -3px -3px 8px rgba(0,73,51,.24); transition:transform .3s ease,box-shadow .3s ease; }
.case-study-cta span { display:flex; flex-direction:column; font-size:21px; font-weight:750; line-height:1.1; }
.case-study-cta small { margin-bottom:7px; color:#c9ffe9; font-size:11px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.case-study-cta i { display:grid; width:52px; height:52px; flex:0 0 auto; place-items:center; border:1px solid rgba(255,255,255,.62); border-radius:50%; background:rgba(255,255,255,.16); font-size:25px; font-style:normal; }
.case-study-cta:hover { transform:translateY(-4px); box-shadow:0 20px 38px rgba(8,86,61,.3),inset 2px 2px 2px rgba(255,255,255,.3); }

@media (max-width:1100px) {
  .insights-band-inner { grid-template-columns:1fr; }
  .insights-tile-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .services-gallery .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .service-case-card { min-height:470px; }
}
@media (max-width:760px) {
  .insights-band { min-height:0; margin:38px 0 42px; }
  .insights-band-inner { padding:46px 0; }
  .insights-tile-grid { grid-template-columns:1fr; gap:16px; }
  .insights-glass-tile { min-height:215px; }
  .services-gallery { padding-top:38px; }
  .services-gallery-heading { grid-template-columns:1fr; gap:18px; margin-bottom:25px; }
  .services-gallery-heading h2 { font-size:clamp(34px,10vw,48px); }
  .services-gallery-heading > p { font-size:16px; }
  .services-gallery .services-grid { grid-template-columns:1fr; gap:18px; }
  .service-case-card { min-height:460px; border-radius:26px; }
  .case-study-main { padding:32px 0 54px; }
  .case-study-sheet { min-height:0; border-radius:26px; }
  .case-study-visual { height:310px; }
  .case-study-content { padding:32px 25px 34px; }
  .case-study-content h1 { font-size:clamp(32px,9vw,42px); white-space:normal; text-wrap:balance; }
}
@media (max-width:420px) {
  .service-case-card { min-height:420px; }
  .service-case-glass { width:calc(100% - 24px); min-height:166px; margin:12px; padding:20px 56px 20px 19px; }
  .case-study-visual { height:265px; }
  .case-study-visual figcaption { left:22px; bottom:19px; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
  .reveal { opacity:1; transform:none; }
  [data-tilt] { transform:none!important; }
  .about-phrase { opacity:0; }
  .about-phrase:first-child { opacity:1; }
  .about-letter,.expert-roll-letter { opacity:1; filter:none; transform:none; animation:none; }
}

@media (forced-colors:active) {
  .nav,.neo-card,.service-card,.process-card,.article-card,.contact-form,.footer,.feature-band { border:1px solid CanvasText; }
}

/* HOME PAGE POLISH — 2026-09-17 */
body[data-route="home"] .split-head {
  align-items: center !important;
  gap: clamp(36px, 6vw, 86px) !important;
}

body[data-route="home"] .split-head .section-title {
  font-size: clamp(42px, 5.1vw, 70px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.032em !important;
}

body[data-route="home"] .split-head .lead {
  font-size: clamp(18px, 1.45vw, 22px) !important;
  line-height: 1.65 !important;
  max-width: 430px !important;
}

body[data-route="home"] .home-steps .neo-card {
  min-height: 430px !important;
}

body[data-route="home"] .step-photo {
  height: clamp(185px, 15.5vw, 230px) !important;
  margin-bottom: 22px !important;
}

body[data-route="home"] .step-photo img {
  object-fit: cover !important;
  object-position: center !important;
}

body[data-route="home"] .home-steps .neo-card small {
  font-size: 13px !important;
  letter-spacing: .14em !important;
}

body[data-route="home"] .home-steps .neo-card p {
  font-size: clamp(16px, 1.15vw, 18px) !important;
  line-height: 1.58 !important;
}

body[data-route="home"] .feature-band {
  align-items: start !important;
  padding-top: clamp(38px, 4.4vw, 56px) !important;
  padding-bottom: clamp(42px, 4.7vw, 62px) !important;
  margin-bottom: clamp(34px, 4vw, 52px) !important;
}

body[data-route="home"] .feature-band .light-label {
  margin: 0 0 4px !important;
  align-self: start !important;
}

body[data-route="home"] .feature-band h2 {
  margin-top: 0 !important;
  font-size: clamp(40px, 4.15vw, 58px) !important;
  line-height: 1.04 !important;
}

body[data-route="home"] .feature-band p {
  margin-top: clamp(6px, 1vw, 12px) !important;
  font-size: clamp(19px, 1.45vw, 22px) !important;
  line-height: 1.62 !important;
}

body[data-route="home"] .section.compact {
  margin-top: clamp(-28px, -2.5vw, -12px) !important;
  padding-top: 0 !important;
}

body[data-route="home"] .section-head {
  align-items: center !important;
  margin-bottom: clamp(18px, 2.4vw, 28px) !important;
}

body[data-route="home"] .section-title.small {
  font-size: clamp(42px, 5.1vw, 68px) !important;
  line-height: 1.06 !important;
}

body[data-route="home"] .page-link small {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  font-size: 13px !important;
  letter-spacing: .14em !important;
}

body[data-route="home"] .page-link small::before {
  content: "" !important;
  width: 10px !important;
  height: 10px !important;
  flex: 0 0 10px !important;
  border-radius: 999px !important;
  background: #27c778 !important;
  box-shadow: 0 0 0 4px rgba(39,199,120,.12) !important;
}

@media (max-width: 900px) {
  body[data-route="home"] .split-head {
    gap: 20px !important;
  }

  body[data-route="home"] .split-head .section-title,
  body[data-route="home"] .feature-band h2,
  body[data-route="home"] .section-title.small {
    font-size: clamp(34px, 10vw, 48px) !important;
  }

  body[data-route="home"] .feature-band {
    margin-bottom: 36px !important;
  }
}

/* HOME TICKER BALANCE — original AM STELLA only */
body[data-route="home"] .ticker {
  margin-top: clamp(38px, 3.4vw, 54px) !important;
  margin-bottom: 0 !important;
}

body[data-route="home"] .ticker + .section {
  padding-top: clamp(44px, 4.2vw, 64px) !important;
}

/* FINAL HERO BANNER TITLE WEIGHT */
.image-hero .display,
body[data-route="home"] .home-image-hero .display,
body[data-route="about"] .image-hero .display,
body[data-route="people"] .image-hero .display,
body[data-route="services"] .image-hero .display,
body[data-route="insights"] .image-hero .display,
body[data-route="contact"] .image-hero .display,
body[data-route="faq"] .image-hero .display,
body[data-route="terms"] .image-hero .display,
body[data-route="privacy"] .image-hero .display {
  font-weight: 700 !important;
}

@media (max-width: 760px) {
  body[data-route="home"] .ticker {
    margin-top: 28px !important;
  }

body[data-route="home"] .ticker + .section {
  padding-top: 38px !important;
  }
}

/* HOME FEATURE LABEL + GO DEEPER BALANCE */
body[data-route="home"] .feature-band {
  position: relative !important;
  padding-top: clamp(64px, 5.7vw, 82px) !important;
  margin-bottom: clamp(58px, 5.2vw, 78px) !important;
}

body[data-route="home"] .feature-band .light-label {
  position: absolute !important;
  top: clamp(22px, 2.2vw, 30px) !important;
  left: clamp(24px, 4.5vw, 60px) !important;
  margin: 0 !important;
  color: #e9f5ff !important;
  -webkit-text-fill-color: #e9f5ff !important;
  z-index: 4 !important;
}

body[data-route="home"] .feature-band .light-label::before {
  background: #27c778 !important;
  box-shadow: 0 0 0 4px rgba(39,199,120,.16), 0 0 12px rgba(39,199,120,.55) !important;
}

body[data-route="home"] .section.compact {
  margin-top: 0 !important;
  padding-top: clamp(10px, 1.5vw, 22px) !important;
}

/* FIX FEATURE LABEL PLACEMENT — keep label above title */
body[data-route="home"] .feature-band .light-label {
  position: static !important;
  top: auto !important;
  left: auto !important;
  display: inline-flex !important;
  width: fit-content !important;
  margin: 0 0 12px 0 !important;
  transform: none !important;
}

body[data-route="home"] .feature-band h2 {
  clear: both !important;
  margin-top: 0 !important;
}

body[data-route="home"] .feature-band {
  padding-top: clamp(42px, 4.5vw, 62px) !important;
}

/* INSIGHT CASE-STUDY TITLES — allow clean two-line wrapping */
.insight-detail-sheet .case-study-content h1 {
  max-width: 760px !important;
  white-space: normal !important;
  text-wrap: balance !important;
  overflow-wrap: normal !important;
  font-size: clamp(32px, 2.75vw, 40px) !important;
  line-height: 1.08 !important;
}

/* INSIGHT CASE STUDY CONTENT SECTIONS */
.insight-case-detail {
  display: grid !important;
  gap: 24px !important;
}

.case-study-section {
  padding-bottom: 22px !important;
  border-bottom: 1px solid rgba(95,142,184,.2) !important;
}

.case-study-section:last-child {
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

.case-study-section h2 {
  margin: 0 0 11px !important;
  color: #0a315d !important;
  font: 800 clamp(20px, 1.55vw, 25px)/1.18 "Montserrat", "Jost", system-ui, sans-serif !important;
  letter-spacing: -.01em !important;
}

.case-study-section p {
  margin: 0 0 14px !important;
}

.case-study-section p:last-child {
  margin-bottom: 0 !important;
}

.case-study-section ul {
  margin-top: 12px !important;
}

/* MOBILE FOOTER CENTERING */
@media (max-width: 760px) {
  .footer,
  .footer * {
    text-align: center !important;
  }

  .footer-top {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 26px !important;
  }

  .footer-brand-block,
  .footer-column,
  .footer-connect {
    width: 100% !important;
    max-width: 360px !important;
    margin-inline: auto !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .footer-logo {
    margin-inline: auto !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .footer-brand-block p,
  .footer-column h3,
  .footer-connect h3,
  .footer-bottom p,
  .footer-credit {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .footer-column a {
    width: fit-content !important;
    margin-inline: auto !important;
    text-align: center !important;
  }

  .footer .footer-cta,
  .social-links {
    margin-inline: auto !important;
  }

  .social-links {
    justify-content: center !important;
  }

  .footer-bottom {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
}

/* MOBILE: HIDE CLIPPED FEATURE-BAND BLUR CORNER */
@media (max-width: 760px) {
  body[data-route="home"] .feature-band {
    overflow: hidden !important;
    border-radius: 30px !important;
    isolation: isolate !important;
  }

  body[data-route="home"] .feature-band::before {
    display: none !important;
    content: none !important;
  }
}

/* FOOTER QUICK LINKS FINAL LAYOUT */
.footer-top {
  grid-template-columns: minmax(180px,.95fr) minmax(230px,.9fr) minmax(270px,1.2fr) !important;
}

.footer-links-group {
  padding-top: 4px !important;
}

.footer-links-group h3 {
  width: 100% !important;
  margin: 0 0 10px !important;
  padding-bottom: 13px !important;
  border-bottom: 1px solid rgba(218,237,252,.3) !important;
  color: #eef7ff !important;
  font: 700 18px/1.2 "Montserrat","Jost","Century Gothic",system-ui,sans-serif !important;
  letter-spacing: .04em !important;
}

.footer-link-columns {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(92px,1fr)) !important;
  gap: 12px clamp(18px,2vw,34px) !important;
}

.footer-link-columns .footer-column {
  padding-top: 0 !important;
}

@media (max-width: 1100px) {
  .footer-top {
    grid-template-columns: 150px minmax(230px,1fr) minmax(260px,1fr) !important;
  }

  .footer-connect {
    grid-column: auto !important;
  }
}

@media (max-width: 760px) {
  .footer-top {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }

  .footer-brand-block,
  .footer-connect {
    grid-column: 1 / 3 !important;
  }

  .footer-links-group {
    grid-column: 1 / 3 !important;
    width: 100% !important;
    max-width: 360px !important;
    margin-inline: auto !important;
    text-align: center !important;
  }

  .footer-links-group h3 {
    text-align: center !important;
  }

  .footer-link-columns {
    grid-template-columns: 1fr 1fr !important;
    justify-items: center !important;
    gap: 10px 20px !important;
  }

  .footer-link-columns .footer-column {
    width: 100% !important;
    max-width: none !important;
  }
}

/* HOME TITLE LINE SPACING FINAL OVERRIDE */
body[data-route="home"] .split-head .section-title {
  line-height: 1.14 !important;
}

body[data-route="home"] .page-link h3 {
  line-height: 1.08 !important;
}

@media (max-width: 900px) {
  body[data-route="home"] .split-head .section-title {
    line-height: 1.12 !important;
  }

  body[data-route="home"] .page-link h3 {
    line-height: 1.1 !important;
  }
}

/* FINAL INSIGHTS TILE BALANCE AND RECENT ARTICLES */
body[data-route="insights"] .insights-band-inner {
  align-items: start !important;
}

body[data-route="insights"] .insights-tile-grid {
  align-self: start !important;
  gap: 16px !important;
}

body[data-route="insights"] .insights-glass-tile:not(.insights-recent-articles) {
  min-height: 262px !important;
  padding: 22px 20px !important;
}

body[data-route="insights"] .insights-glass-tile h3 {
  font-size: clamp(20px,1.35vw,26px) !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
}

body[data-route="insights"] .insights-recent-articles {
  grid-column: 1 / -1 !important;
  min-height: 98px !important;
  padding: 20px 22px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
}

body[data-route="insights"] .insights-recent-articles h3 {
  margin-top: 6px !important;
  font-size: clamp(24px,1.65vw,32px) !important;
  font-weight: 500 !important;
}

body[data-route="insights"] .insights-recent-articles i {
  flex: 0 0 auto !important;
  margin: 0 0 0 22px !important;
}

@media (max-width: 900px) {
  body[data-route="insights"] .insights-tile-grid {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
}

@media (max-width: 760px) {
  body[data-route="insights"] .insights-tile-grid {
    grid-template-columns: 1fr !important;
  }

  body[data-route="insights"] .insights-glass-tile:not(.insights-recent-articles) {
    min-height: 190px !important;
  }

  body[data-route="insights"] .insights-recent-articles {
    min-height: 112px !important;
  }
}

/* FINAL REQUESTED COPY AND MOBILE FIT FIXES - TRUE LAST OVERRIDE */
body[data-route="terms"] .image-hero .display {
  max-width: none !important;
  white-space: nowrap !important;
  font-size: clamp(34px,5.4vw,78px) !important;
  line-height: 1 !important;
}

body[data-route="services"] .services-gallery-heading h2,
body[data-route="services"] .services-gallery-heading h2 em {
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

body[data-route="people"] .expert-callout {
  padding: clamp(28px,3.4vw,46px) !important;
}

body[data-route="people"] .expert-callout-copy {
  display: grid !important;
  grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr) !important;
  align-items: start !important;
  gap: clamp(22px,3.2vw,48px) !important;
}

body[data-route="people"] .expert-callout-copy h2 {
  max-width: 100% !important;
  font-size: clamp(28px,2.9vw,40px) !important;
  line-height: 1.06 !important;
  letter-spacing: 0 !important;
}

body[data-route="people"] .expert-roll-line {
  white-space: normal !important;
  min-height: 0 !important;
}

body[data-route="people"] .expert-callout-copy p {
  max-width: 760px !important;
  font-size: clamp(16px,1.25vw,19px) !important;
  line-height: 1.55 !important;
}

@media (max-width: 900px) {
  body[data-route="terms"] .image-hero .display {
    white-space: normal !important;
    font-size: clamp(35px,10vw,56px) !important;
  }

  body[data-route="people"] .expert-callout-copy {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body[data-route="people"] .expert-callout-copy h2 {
    font-size: clamp(29px,8.4vw,42px) !important;
  }
}

@media (max-width: 520px) {
  body[data-route="people"] .expert-callout {
    padding: 26px 20px !important;
  }

  body[data-route="people"] .expert-callout-copy h2 {
    font-size: clamp(27px,8.6vw,35px) !important;
  }

  body[data-route="people"] .expert-callout-copy p {
    font-size: 16px !important;
  }
}

/* FINAL INSIGHTS ARTICLES TILE ALIGNMENT */
body[data-route="insights"] .insights-band-inner {
  align-items: stretch !important;
}

body[data-route="insights"] .insights-intro-glass {
  height: 100% !important;
}

body[data-route="insights"] .insights-tile-grid {
  height: 100% !important;
  align-self: stretch !important;
  grid-template-rows: minmax(262px,1fr) auto !important;
}

body[data-route="insights"] .insights-glass-tile:not(.insights-recent-articles) {
  min-height: 0 !important;
  height: 100% !important;
}

body[data-route="insights"] .insights-recent-articles {
  min-height: 98px !important;
  border: 1px solid rgba(255,255,255,.86) !important;
  background: linear-gradient(135deg,rgba(255,255,255,.46),rgba(222,237,249,.26)) !important;
  box-shadow: 0 14px 30px rgba(30,67,107,.12), inset 1px 1px 0 rgba(255,255,255,.82) !important;
}

body[data-route="insights"] .insights-recent-articles h3 {
  font-size: clamp(20px,1.35vw,26px) !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
}

@media (max-width: 900px) {
  body[data-route="insights"] .insights-band-inner,
  body[data-route="insights"] .insights-tile-grid,
  body[data-route="insights"] .insights-intro-glass {
    height: auto !important;
  }

  body[data-route="insights"] .insights-tile-grid {
    grid-template-rows: auto !important;
  }
}

/* FINAL ARTICLES PAGE FEATURE LAYOUT */
body[data-route="articles"] .articles-page {
  padding-top: clamp(48px,6vw,82px) !important;
}

body[data-route="articles"] .articles-page-heading {
  display: grid !important;
  grid-template-columns: minmax(0,1.15fr) minmax(280px,.6fr) !important;
  align-items: end !important;
  gap: 44px !important;
  margin-bottom: 34px !important;
}

body[data-route="articles"] .articles-page-heading h2 {
  margin: 12px 0 0 !important;
  color: #092d5a !important;
  font-size: clamp(54px,6.2vw,94px) !important;
  font-weight: 400 !important;
  line-height: .98 !important;
  letter-spacing: 0 !important;
}

body[data-route="articles"] .articles-page-heading p {
  margin: 0 0 5px !important;
  color: #506985 !important;
  font-size: clamp(18px,1.55vw,22px) !important;
  line-height: 1.65 !important;
}

body[data-route="articles"] .articles-eyebrow i,
body[data-route="articles"] .article-status-dot {
  display: inline-block !important;
  width: 13px !important;
  height: 13px !important;
  border-radius: 50% !important;
  background: #2f7df0 !important;
  box-shadow: 0 0 0 6px rgba(47,125,240,.12), 0 0 18px rgba(47,125,240,.34) !important;
}

body[data-route="articles"] .article-feature {
  position: relative !important;
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: clamp(22px,3vw,42px) !important;
  width: 100% !important;
  min-height: 210px !important;
  padding: clamp(28px,3.4vw,44px) !important;
  border: 1px solid rgba(255,255,255,.78) !important;
  border-radius: 30px !important;
  background: linear-gradient(135deg,rgba(245,250,255,.86),rgba(219,234,248,.62)) !important;
  box-shadow: 0 24px 48px rgba(30,67,107,.15), inset 1px 1px 0 rgba(255,255,255,.9), inset -3px -3px 10px rgba(74,111,149,.10) !important;
  overflow: hidden !important;
}

body[data-route="articles"] .article-feature::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 5px !important;
  background: linear-gradient(180deg,#2f7df0,#77ceff) !important;
}

body[data-route="articles"] .article-feature-main {
  min-width: 0 !important;
}

body[data-route="articles"] .article-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 18px !important;
  margin-bottom: 12px !important;
  color: #2e7fc1 !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body[data-route="articles"] .article-feature h3 {
  margin: 0 0 12px !important;
  color: #082d59 !important;
  font-size: clamp(31px,3.2vw,48px) !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: 0 !important;
}

body[data-route="articles"] .article-feature p {
  max-width: 860px !important;
  margin: 0 !important;
  color: #516d88 !important;
  font-size: clamp(17px,1.35vw,20px) !important;
  line-height: 1.58 !important;
}

body[data-route="articles"] .article-read-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  min-width: 230px !important;
  min-height: 64px !important;
  padding: 10px 11px 10px 22px !important;
  border: 1px solid rgba(106,178,236,.58) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(135deg,#3987ee,#0a4fb6) !important;
  box-shadow: 0 14px 28px rgba(38,94,171,.24), inset 1px 1px 0 rgba(255,255,255,.32) !important;
  font-weight: 750 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: transform .28s ease, box-shadow .28s ease !important;
}

body[data-route="articles"] .article-read-link i {
  display: grid !important;
  place-items: center !important;
  width: 42px !important;
  height: 42px !important;
  border: 1px solid rgba(255,255,255,.58) !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.16) !important;
  font-size: 20px !important;
  font-style: normal !important;
  transition: transform .28s ease !important;
}

body[data-route="articles"] .article-read-link:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 19px 36px rgba(38,94,171,.3), inset 1px 1px 0 rgba(255,255,255,.36) !important;
}

body[data-route="articles"] .article-read-link:hover i {
  transform: rotate(45deg) !important;
}

body[data-route="articles"] .article-dot-pulse {
  animation: article-blue-pulse 2.2s ease-in-out infinite !important;
}

@keyframes article-blue-pulse {
  0%, 100% { box-shadow: 0 0 0 6px rgba(47,125,240,.12), 0 0 18px rgba(47,125,240,.34); transform: scale(1); }
  50% { box-shadow: 0 0 0 12px rgba(47,125,240,.05), 0 0 26px rgba(47,125,240,.48); transform: scale(1.08); }
}

@media (max-width: 900px) {
  body[data-route="articles"] .articles-page-heading {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  body[data-route="articles"] .article-feature {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  body[data-route="articles"] .article-read-link {
    width: min(100%,310px) !important;
  }
}

/* FINAL INSIGHTS TITLE SIZE AND FOOTER LINK WEIGHT */
body[data-route="insights"] .insights-glass-tile h3,
body[data-route="insights"] .insights-recent-articles h3 {
  font-size: clamp(24px,1.8vw,32px) !important;
  font-weight: 400 !important;
  line-height: 1.14 !important;
}

.footer-link-columns a,
.footer-column a,
.footer-links-group a,
.footer a:not(.footer-cta):not(.brand):not(.social-button) {
  font-weight: 400 !important;
  letter-spacing: .045em !important;
}

/* FINAL ARTICLES HEADING MATCH SERVICES */
body[data-route="articles"] .articles-eyebrow::before {
  content: "" !important;
  width: 14px !important;
  height: 14px !important;
  flex: 0 0 14px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 35% 35%,#9affc0 0 18%,#35d878 48%,#129f52 100%) !important;
  box-shadow: 0 0 0 8px rgba(61,230,135,.12), 0 0 20px rgba(61,230,135,.36) !important;
}

body[data-route="articles"] .articles-eyebrow i {
  display: none !important;
}

body[data-route="articles"] .articles-page-heading h2 {
  font-size: clamp(36px,4vw,58px) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

/* FINAL RECENT ARTICLES ARROW COLOUR OUTLINE */
body[data-route="insights"] .insights-recent-articles i {
  border-color: rgba(47,125,240,.76) !important;
  box-shadow: inset 1px 1px 1px rgba(255,255,255,.9), 0 0 0 3px rgba(47,125,240,.16), 0 10px 22px rgba(39,100,157,.2) !important;
}

/* FINAL ARTICLES LIST REFINEMENT */
body[data-route="articles"] .article-feature {
  min-height: 0 !important;
  padding: clamp(22px,2.7vw,34px) clamp(24px,3.2vw,40px) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(46,96,145,.22) !important;
  border-radius: 0 !important;
  background: rgba(246,251,255,.36) !important;
  box-shadow: none !important;
}

body[data-route="articles"] .article-feature:first-of-type {
  border-top: 1px solid rgba(46,96,145,.18) !important;
}

body[data-route="articles"] .article-feature::before {
  display: none !important;
}

body[data-route="articles"] .article-feature h3 {
  font-size: clamp(26px,2.45vw,38px) !important;
  line-height: 1.08 !important;
}

body[data-route="articles"] .article-feature p {
  max-width: 900px !important;
  font-size: clamp(16px,1.2vw,19px) !important;
}

body[data-route="articles"] .article-status-dot {
  width: 12px !important;
  height: 12px !important;
  box-shadow: 0 0 0 7px rgba(47,125,240,.1), 0 0 18px rgba(47,125,240,.24) !important;
}

body[data-route="articles"] .article-status-dot.muted {
  background: #9bb4cc !important;
  box-shadow: 0 0 0 7px rgba(87,115,142,.08) !important;
}

body[data-route="articles"] .article-read-link {
  min-width: 205px !important;
  min-height: 56px !important;
  padding: 8px 9px 8px 19px !important;
}

body[data-route="articles"] .article-read-link-disabled {
  color: #42617e !important;
  background: linear-gradient(135deg,rgba(235,244,252,.9),rgba(211,226,240,.72)) !important;
  border-color: rgba(92,132,170,.24) !important;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,.76) !important;
  pointer-events: none !important;
}

body[data-route="articles"] .article-read-link-disabled i {
  color: #42617e !important;
  background: rgba(255,255,255,.28) !important;
}

@media (max-width: 900px) {
  body[data-route="articles"] .article-feature {
    gap: 18px !important;
  }
}

/* FINAL PREMIUM ARTICLE POLISH AND EYEBROW SPACING */
.section .eyebrow,
.services-eyebrow,
.case-study-eyebrow,
.people-heading .eyebrow,
body[data-route="articles"] .articles-eyebrow {
  margin-bottom: clamp(18px,1.8vw,28px) !important;
}

.section .eyebrow + h1,
.section .eyebrow + h2,
.services-eyebrow + h1,
.services-eyebrow + h2,
.case-study-eyebrow + h1,
.case-study-eyebrow + h2,
.people-heading .eyebrow + h1,
.people-heading .eyebrow + h2,
body[data-route="articles"] .articles-eyebrow + h2 {
  margin-top: 0 !important;
}

body[data-route="articles"] .articles-eyebrow::before {
  box-shadow: 0 0 0 10px rgba(61,230,135,.14), 0 0 26px rgba(61,230,135,.48) !important;
  animation: contact-status 2.15s ease-in-out infinite !important;
}

body[data-route="articles"] .article-feature {
  padding: clamp(28px,3.1vw,42px) clamp(28px,3.6vw,52px) !important;
  border: 1px solid rgba(133,181,221,.2) !important;
  border-radius: 26px !important;
  background:
    linear-gradient(135deg,rgba(250,253,255,.6),rgba(226,239,250,.42)) padding-box,
    linear-gradient(135deg,rgba(255,255,255,.82),rgba(91,180,240,.2)) border-box !important;
  box-shadow: 0 18px 46px rgba(37,73,112,.1), inset 1px 1px 0 rgba(255,255,255,.82) !important;
}

body[data-route="articles"] .article-feature + .article-feature {
  margin-top: 18px !important;
}

body[data-route="articles"] .article-feature:first-of-type {
  border-top: 1px solid rgba(133,181,221,.2) !important;
}

body[data-route="articles"] .article-feature::before {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  left: clamp(28px,3.6vw,52px) !important;
  right: auto !important;
  top: 0 !important;
  bottom: auto !important;
  width: clamp(86px,9vw,142px) !important;
  height: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg,#2f7df0,#73d8ff,#35d878) !important;
  background-size: 220% 100% !important;
  animation: article-line-flow 3.4s ease-in-out infinite !important;
}

body[data-route="articles"] .article-feature::after {
  content: "" !important;
  position: absolute !important;
  left: clamp(28px,3.6vw,52px) !important;
  right: clamp(28px,3.6vw,52px) !important;
  bottom: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg,transparent,rgba(47,125,240,.38),rgba(53,216,120,.22),transparent) !important;
}

body[data-route="articles"] .article-feature h3 {
  font-size: clamp(25px,2.25vw,36px) !important;
}

body[data-route="articles"] .article-status-dot {
  box-shadow: 0 0 0 8px rgba(47,125,240,.14), 0 0 24px rgba(47,125,240,.46) !important;
  animation: article-blue-pulse 2.15s ease-in-out infinite !important;
}

body[data-route="articles"] .article-status-dot.muted {
  box-shadow: 0 0 0 7px rgba(155,180,204,.16), 0 0 17px rgba(155,180,204,.28) !important;
  animation: article-muted-pulse 2.9s ease-in-out infinite !important;
}

@keyframes article-line-flow {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

@keyframes article-muted-pulse {
  0%, 100% { transform: scale(1); opacity: .72; }
  50% { transform: scale(1.08); opacity: 1; }
}

@media (max-width: 900px) {
  body[data-route="articles"] .article-feature {
    border-radius: 22px !important;
  }
}

/* FINAL PREMIUM INSIGHTS RECENT ARTICLES GLASS ACCENT */
body[data-route="insights"] .insights-recent-articles {
  border: 1px solid rgba(47,125,240,.56) !important;
  background:
    linear-gradient(90deg,rgba(47,125,240,.12),rgba(53,216,120,.06) 38%,rgba(255,255,255,.1) 100%),
    rgba(244,250,255,.08) !important;
  box-shadow: inset 5px 0 0 rgba(47,125,240,.82), inset 1px 1px 0 rgba(255,255,255,.54), 0 12px 26px rgba(47,82,118,.08) !important;
  -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  backdrop-filter: blur(8px) saturate(112%) !important;
}

body[data-route="insights"] .insights-recent-articles span {
  color: #1f7fc6 !important;
}

/* FINAL HOME GO DEEPER WEIGHT */
body[data-route="home"] .section-title.small {
  font-weight: 700 !important;
}

/* FINAL PEOPLE AGA PROFILE PHOTO */
body[data-route="people"] .crop-aga img {
  width: 100% !important;
  height: 100% !important;
  left: 0 !important;
  top: 0 !important;
  object-fit: cover !important;
  object-position: 52% 18% !important;
}

/* FINAL PEOPLE PORTRAIT MATCHING */
body[data-route="people"] .crop-ewa img {
  width: 100% !important;
  height: 100% !important;
  left: 0 !important;
  top: 0 !important;
  object-fit: cover !important;
  object-position: 50% 18% !important;
}

body[data-route="people"] .crop-aga img {
  width: 141% !important;
  height: 141% !important;
  left: -20.5% !important;
  top: -35px !important;
  object-fit: cover !important;
  object-position: 52% 8% !important;
}

/* FINAL PEOPLE MOBILE MEN PORTRAIT FIX */
@media (max-width: 1100px) {
  body[data-route="people"] .crop-andy img,
  body[data-route="people"] .crop-gary img {
    width: 100% !important;
    height: 100% !important;
    left: 0 !important;
    top: 0 !important;
    object-fit: cover !important;
    object-position: center 34% !important;
    transform: none !important;
  }
}

/* FINAL PEOPLE MEN CROPPED PORTRAITS */
body[data-route="people"] .crop-andy img,
body[data-route="people"] .crop-gary img {
  width: 100% !important;
  height: 100% !important;
  left: 0 !important;
  top: 0 !important;
  object-fit: cover !important;
  object-position: center 34% !important;
  transform: none !important;
}

/* FINAL PEOPLE RESPONSIVE PORTRAIT RESET */
@media (max-width: 1100px) {
  body[data-route="people"] .person-card {
    overflow: hidden !important;
  }

  body[data-route="people"] .profile-photo {
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body[data-route="people"] .crop-ewa img,
  body[data-route="people"] .crop-andy img,
  body[data-route="people"] .crop-aga img,
  body[data-route="people"] .crop-gary img {
    width: 100% !important;
    height: 100% !important;
    left: 0 !important;
    top: 0 !important;
    object-fit: cover !important;
    transform: none !important;
  }

  body[data-route="people"] .crop-ewa img { object-position: center 18% !important; }
  body[data-route="people"] .crop-andy img { object-position: center 34% !important; }
  body[data-route="people"] .crop-aga img { object-position: center 10% !important; }
  body[data-route="people"] .crop-gary img { object-position: center 34% !important; }
}

@media (max-width: 760px) {
  body[data-route="people"] .profile-photo {
    width: 100% !important;
    height: clamp(260px, 74vw, 330px) !important;
    flex: 0 0 auto !important;
    aspect-ratio: auto !important;
  }
}

/* FINAL IPHONE PEOPLE CALLOUT TEXT FIT */
@media (max-width: 520px) {
  body[data-route="people"] .expert-callout {
    width: calc(100% - 32px) !important;
    padding: 28px 20px 24px !important;
    overflow: hidden !important;
  }

  body[data-route="people"] .expert-callout-copy h2 {
    display: block !important;
    margin: 0 0 18px !important;
    font-size: clamp(28px, 7.45vw, 31px) !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
  }

  body[data-route="people"] .expert-callout-copy h2 .expert-roll-line {
    display: none !important;
  }

  body[data-route="people"] .expert-callout-copy h2::before {
    content: "Senior Judgement" !important;
    display: block !important;
    color: #f7fbff !important;
    white-space: nowrap !important;
  }
  body[data-route="people"] .expert-callout-copy p {
    margin-top: 22px !important;
    font-size: 16px !important;
    line-height: 1.52 !important;
  }
}

/* FINAL PEOPLE CALLOUT HEADING RESET */
body[data-route="people"] .expert-callout-copy h2::before,
body[data-route="people"] .expert-callout-copy h2::after,
body[data-route="people"] .expert-callout-copy h2 + p::before {
  content: none !important;
  display: none !important;
}

body[data-route="people"] .expert-roll-line {
  display: block !important;
  max-width: none !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  font-weight: 400 !important;
}

body[data-route="people"] .expert-roll-line + .expert-roll-line {
  margin-top: .08em !important;
}

@media (max-width: 520px) {
  body[data-route="people"] .expert-callout-copy h2 {
    font-size: clamp(28px, 7.45vw, 31px) !important;
    line-height: 1.12 !important;
  }

  body[data-route="people"] .expert-callout-copy h2 .expert-roll-line {
    display: block !important;
  }

  body[data-route="people"] .expert-roll-line:nth-child(2) {
    max-width: 13.5ch !important;
  }

  body[data-route="people"] .expert-callout-copy p {
    margin-top: 22px !important;
  }
}

/* FINAL MOBILE LOAD AND ROTATOR STABILITY */
html.is-route-changing,
html.is-route-changing *,
body.is-route-changing,
body.is-route-changing * {
  scroll-behavior: auto !important;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9998;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 18%, rgba(35, 125, 206, .18), transparent 42%),
    linear-gradient(135deg, rgba(9, 38, 70, .92), rgba(6, 24, 46, .94));
  opacity: 0;
  transition: opacity .22s ease;
}

body.is-loading::after {
  opacity: .46;
}

body.is-route-changing::after {
  opacity: .24;
}

@media (max-width: 760px) {
  #app {
    transition: opacity .2s ease !important;
    transform: none !important;
    will-change: opacity !important;
  }

  html.is-route-changing #app,
  body.is-route-changing #app {
    opacity: 1 !important;
    transform: none !important;
  }

  .about-rotator {
    display: inline !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .about-phrase,
  .about-letter {
    animation: none !important;
    filter: none !important;
    opacity: 1;
    transform: none;
    transition: none !important;
  }

  .about-phrase {
    position: static !important;
    display: none !important;
    white-space: normal !important;
  }

  .about-phrase:first-child {
    display: inline !important;
  }

  .about-letter {
    display: inline !important;
  }
}

/* FINAL CONTENT PROTECTION */
body {
  -webkit-touch-callout: none;
}

body,
body *:not(input):not(textarea):not(select):not(option) {
  -webkit-user-select: none;
  user-select: none;
}

img,
svg,
video,
canvas {
  -webkit-user-drag: none;
  user-drag: none;
}

input,
textarea,
select,
option {
  -webkit-touch-callout: default;
  -webkit-user-select: text;
  user-select: text;
}

/* FINAL PREMIUM SOFT PAGE TRANSITION */
body::after {
  display: block !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(101, 194, 255, .1), transparent 48%),
    linear-gradient(135deg, rgba(228, 241, 252, .24), rgba(202, 224, 242, .28)) !important;
  opacity: 0;
  transition: opacity .82s cubic-bezier(.18, .78, .18, 1) !important;
}

body.is-route-changing::after {
  opacity: .26 !important;
}

body.is-loading::after {
  opacity: .26 !important;
}

html::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9998;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 18%, rgba(101, 194, 255, .12), transparent 48%),
    linear-gradient(135deg, rgba(12, 55, 96, .34), rgba(6, 25, 49, .38));
  opacity: 0;
  transition: opacity .24s ease;
}

html.is-route-changing::after {
  opacity: 0 !important;
}

html.is-route-changing #app {
  opacity: 1 !important;
  transform: none !important;
}

body[data-route="contact"] .hero-button .down-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-left: 6px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 50%;
  background: rgba(255, 255, 255, .12);
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, .35), 0 6px 14px rgba(5, 26, 56, .22);
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
  transform: none;
}

body[data-route="contact"] .hero-button:hover .down-arrow {
  transform: translateY(2px);
}

/* FINAL WHITE HEADER */
.nav {
  position: sticky !important;
  top: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 94px !important;
  min-height: 94px !important;
  margin: 0 0 28px !important;
  padding: 0 max(24px, calc((100vw - 1180px) / 2)) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(8, 38, 76, .1) !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 8px 22px rgba(8, 38, 76, .08) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  backdrop-filter: blur(16px) !important;
}

.nav .brand {
  width: 250px !important;
  min-width: 250px !important;
  height: 86px !important;
  margin-left: 0 !important;
  justify-content: flex-start !important;
}

.nav .brand img {
  width: 230px !important;
  height: auto !important;
  max-height: 66px !important;
  object-fit: contain !important;
  filter: none !important;
  transform: none !important;
}

.nav .logo-sparkles,
.nav .logo-sparkles * {
  display: none !important;
}

.nav .links {
  gap: clamp(22px, 2.8vw, 42px) !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.nav .links a,
.nav .links a:visited,
.nav .nav-cta,
.nav .nav-cta:visited {
  min-width: auto !important;
  min-height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #08264c !important;
  -webkit-text-fill-color: #08264c !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
  text-shadow: none !important;
  text-transform: uppercase !important;
  filter: none !important;
  transform: none !important;
}

.nav .nav-cta,
.nav .nav-cta:visited {
  min-height: 44px !important;
  padding: 0 26px !important;
  border: 1.5px solid rgb(200, 171, 88) !important;
  border-radius: 10px !important;
  color: #08264c !important;
  -webkit-text-fill-color: #08264c !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .92), rgba(247, 243, 228, .78) 52%, rgba(235, 224, 188, .58)) !important;
  box-shadow:
    0 10px 18px rgba(8, 38, 76, .13),
    0 3px 0 rgba(153, 129, 60, .24),
    inset 1px 1px 0 rgba(255, 255, 255, .96),
    inset -1px -2px 4px rgba(160, 130, 50, .18) !important;
}

.nav .links a::before,
.nav .links a::after,
.nav .nav-cta::before,
.nav .nav-cta::after {
  display: none !important;
}

.nav .links a:hover,
.nav .nav-cta:hover {
  color: #08264c !important;
  -webkit-text-fill-color: #08264c !important;
  background: transparent !important;
  transform: none !important;
  font-weight: 600 !important;
}

.nav .nav-cta:hover {
  border-color: rgb(200, 171, 88) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(250, 245, 226, .88) 52%, rgba(240, 228, 190, .68)) !important;
  box-shadow:
    0 13px 22px rgba(8, 38, 76, .16),
    0 4px 0 rgba(153, 129, 60, .24),
    inset 1px 1px 0 rgba(255, 255, 255, 1),
    inset -1px -2px 4px rgba(160, 130, 50, .16) !important;
  transform: translateY(-1px) !important;
}

.nav .links a.active,
.nav .links a.active:visited {
  color: #08264c !important;
  -webkit-text-fill-color: #08264c !important;
  background: transparent !important;
  font-weight: 800 !important;
}

.nav .menu {
  background: transparent !important;
  border: 1px solid rgba(8, 38, 76, .24) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

.nav .menu span {
  background: #08264c !important;
}

@media (max-width: 980px) {
  .nav {
    height: 84px !important;
    min-height: 84px !important;
    padding-inline: 18px !important;
  }

  .nav .brand {
    width: 210px !important;
    min-width: 210px !important;
    height: 78px !important;
  }

  .nav .brand img {
    width: 198px !important;
    max-height: 58px !important;
  }

  .nav .links.open,
  .links.open {
    top: 84px !important;
    left: 0 !important;
    right: 0 !important;
    padding: 14px 18px 18px !important;
    border: 0 !important;
    border-top: 1px solid rgba(8, 38, 76, .1) !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 16px 28px rgba(8, 38, 76, .1) !important;
  }

  .nav .links.open a,
  .nav .links.open a:visited {
    padding: 13px 0 !important;
    color: #08264c !important;
    -webkit-text-fill-color: #08264c !important;
    font-weight: 500 !important;
  }

  .nav .links.open a.active,
  .nav .links.open a:hover {
    font-weight: 800 !important;
  }
}

/* FINAL HERO ROTATING TITLE TREATMENT */
.image-hero .about-rotator,
body[data-route="home"] .home-image-hero .about-rotator,
body[data-route="about"] .image-hero .about-rotator,
body[data-route="people"] .image-hero .about-rotator,
body[data-route="services"] .image-hero .about-rotator,
body[data-route="insights"] .image-hero .about-rotator,
body[data-route="articles"] .image-hero .about-rotator,
body[data-route="contact"] .image-hero .about-rotator,
body[data-route="faq"] .image-hero .about-rotator,
body[data-route="terms"] .image-hero .about-rotator,
body[data-route="privacy"] .image-hero .about-rotator {
  color: rgb(200, 171, 88) !important;
  -webkit-text-fill-color: rgb(200, 171, 88) !important;
  font-size: .72em !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-shadow: 0 2px 16px rgba(0, 15, 35, .28) !important;
}

.image-hero .about-phrase,
.image-hero .about-letter {
  color: rgb(200, 171, 88) !important;
  -webkit-text-fill-color: rgb(200, 171, 88) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

/* FINAL HERO TITLE SCALE */
.image-hero .display,
body[data-route="home"] .home-image-hero .display,
body[data-route="about"] .image-hero .display,
body[data-route="people"] .image-hero .display,
body[data-route="services"] .image-hero .display,
body[data-route="insights"] .image-hero .display,
body[data-route="articles"] .image-hero .display,
body[data-route="contact"] .image-hero .display,
body[data-route="faq"] .image-hero .display,
body[data-route="terms"] .image-hero .display,
body[data-route="privacy"] .image-hero .display {
  font-size: clamp(30px, 3.05vw, 45px) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.05 !important;
}

.image-hero .display .about-rotator {
  font-size: 1em !important;
}

/* FINAL BUTTON WEIGHT AND COOKIE CONSENT */
button,
.button,
.hero-button,
.nav-cta,
.footer-cta,
.submit,
.enquiry-action,
.article-read-link,
.expert-consultation,
.about-contact-button,
.cookie-button {
  font-weight: 400 !important;
}

.nav .nav-cta,
.nav .nav-cta:visited {
  border: 1.5px solid rgb(200, 171, 88) !important;
  border-radius: 10px !important;
  color: #08264c !important;
  -webkit-text-fill-color: #08264c !important;
  background: rgba(255, 255, 255, .08) !important;
  box-shadow: none !important;
  transform: none !important;
}

.nav .nav-cta:hover {
  background: rgba(200, 171, 88, .08) !important;
  box-shadow: none !important;
  transform: none !important;
  font-weight: 400 !important;
}

.cookie-consent {
  position: fixed;
  z-index: 10020;
  right: clamp(16px, 3vw, 34px);
  bottom: clamp(16px, 3vw, 34px);
  pointer-events: none;
}

.cookie-float {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  margin-left: auto;
  border: 1px solid rgba(200, 171, 88, .9);
  border-radius: 14px;
  color: #08264c;
  background: linear-gradient(145deg, rgb(214, 188, 104), rgb(200, 171, 88));
  box-shadow: 0 12px 24px rgba(8, 38, 76, .2);
  pointer-events: auto;
  cursor: pointer;
}

.cookie-float svg,
.cookie-mark svg {
  width: 25px;
  height: 25px;
  fill: currentColor;
}

.cookie-panel {
  position: absolute;
  right: 0;
  bottom: 68px;
  width: min(520px, calc(100vw - 32px));
  max-height: min(78vh, 720px);
  overflow: auto;
  padding: 24px;
  border: 1px solid rgba(200, 171, 88, .58);
  border-radius: 18px;
  color: #f8fbff;
  background: linear-gradient(145deg, rgba(8, 38, 76, .98), rgba(5, 25, 52, .98));
  box-shadow: 0 24px 55px rgba(0, 13, 31, .34);
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
  pointer-events: auto;
}

.cookie-consent.open .cookie-panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.cookie-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 10px;
  color: #fff;
  background: transparent;
  cursor: pointer;
}

.cookie-panel-head {
  display: flex;
  gap: 14px;
  align-items: center;
  padding-right: 42px;
}

.cookie-mark {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  flex: 0 0 48px;
  border-radius: 14px;
  color: #08264c;
  background: rgb(200, 171, 88);
}

.cookie-kicker {
  margin: 0 0 4px;
  color: rgb(200, 171, 88);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.cookie-panel h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 400;
}

.cookie-copy {
  margin: 18px 0;
  color: rgba(247, 251, 255, .82);
  line-height: 1.55;
}

.cookie-options {
  display: grid;
  gap: 10px;
}

.cookie-options label {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 13px 14px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 12px;
  background: rgba(255, 255, 255, .045);
}

.cookie-options strong,
.cookie-options small {
  display: block;
}

.cookie-options strong {
  color: #fff;
  font-weight: 400;
}

.cookie-options small {
  margin-top: 4px;
  color: rgba(247, 251, 255, .68);
  line-height: 1.45;
}

.cookie-options em {
  color: rgb(200, 171, 88);
  font-style: normal;
  white-space: nowrap;
}

.cookie-options input {
  width: 22px;
  height: 22px;
  accent-color: rgb(200, 171, 88);
}

.cookie-actions {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
  margin-top: 18px;
}

.cookie-button {
  min-height: 44px;
  border-radius: 10px !important;
  border: 1px solid rgba(200, 171, 88, .78) !important;
  color: #f8fbff !important;
  background: transparent !important;
  box-shadow: none !important;
}

.cookie-button.primary {
  color: #08264c !important;
  background: rgb(200, 171, 88) !important;
}

.cookie-link {
  display: inline-block;
  margin-top: 14px;
  color: rgb(200, 171, 88);
  text-decoration: none;
}

.cookie-page-action {
  margin-top: 22px;
}

.cookie-settings-page-button {
  border: 1px solid rgb(200, 171, 88) !important;
  border-radius: 10px !important;
  color: #08264c !important;
  background: rgba(200, 171, 88, .16) !important;
  box-shadow: none !important;
}

@media (max-width: 640px) {
  .cookie-consent {
    right: 14px;
    left: 14px;
    bottom: 14px;
  }

  .cookie-panel {
    right: 0;
    bottom: 66px;
    width: 100%;
    padding: 20px;
  }

  .cookie-actions {
    grid-template-columns: 1fr;
  }
}

/* FINAL HERO TITLE CONSISTENCY */
.footer-brand-block p {
  display: none !important;
}

.image-hero .display,
body[data-route="home"] .home-image-hero .display,
body[data-route="about"] .image-hero .display,
body[data-route="people"] .image-hero .display,
body[data-route="services"] .image-hero .display,
body[data-route="insights"] .image-hero .display,
body[data-route="articles"] .image-hero .display,
body[data-route="contact"] .image-hero .display,
body[data-route="cookies"] .image-hero .display,
body[data-route="faq"] .image-hero .display,
body[data-route="terms"] .image-hero .display,
body[data-route="privacy"] .image-hero .display {
  font-size: clamp(30px, 3.05vw, 45px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

.image-hero .display .about-rotator,
.image-hero .display .about-phrase,
.image-hero .display .about-letter {
  font-size: 1em !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

.image-hero .display .about-rotator {
  width: min(100%, 920px) !important;
  height: 1.16em !important;
  margin-top: .08em !important;
}

/* FINAL COOKIE ICON AND TOAST POLISH */
.toast.success {
  border-color: rgba(200, 171, 88, .75) !important;
  color: #f8fbff !important;
  background: linear-gradient(145deg, rgba(8, 38, 76, .98), rgba(6, 28, 58, .98)) !important;
  box-shadow: 0 22px 48px rgba(0, 13, 31, .28), inset 1px 1px 0 rgba(255, 255, 255, .14) !important;
}

.toast.success strong {
  color: rgb(200, 171, 88) !important;
  font-weight: 400 !important;
}

.toast-smile {
  border-color: rgba(200, 171, 88, .82) !important;
  border-radius: 14px !important;
  color: #08264c !important;
  background: rgb(200, 171, 88) !important;
  box-shadow: none !important;
}

.toast-smile svg {
  width: 30px;
  height: 30px;
  fill: currentColor;
}

.cookie-consent {
  left: clamp(16px, 3vw, 34px) !important;
  right: auto !important;
  bottom: clamp(16px, 3vw, 34px) !important;
}

.cookie-float {
  width: 68px !important;
  height: 48px !important;
  margin-left: 0 !important;
  border: 1.5px solid rgb(200, 171, 88) !important;
  border-radius: 10px !important;
  color: rgb(200, 171, 88) !important;
  background: rgba(255, 255, 255, .08) !important;
  box-shadow: 0 10px 22px rgba(8, 38, 76, .14) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.1);
  backdrop-filter: blur(14px) saturate(1.1);
}

.cookie-float:hover {
  background: rgba(200, 171, 88, .1) !important;
}

.cookie-float svg,
.cookie-mark svg {
  width: 34px !important;
  height: 34px !important;
}

.cookie-float .cookie-main,
.cookie-mark .cookie-main {
  fill: rgb(200, 171, 88);
}

.cookie-float .cookie-chip,
.cookie-mark .cookie-chip {
  fill: #08264c;
}

.cookie-float .cookie-crumb,
.cookie-mark .cookie-crumb {
  fill: rgb(200, 171, 88);
}

.cookie-panel {
  left: 0 !important;
  right: auto !important;
}

@media (max-width: 640px) {
  .cookie-consent {
    left: 14px !important;
    right: 14px !important;
  }
}

/* FINAL HERO TWO-LINE LOCK */
.image-hero .display,
body[data-route] .image-hero .display,
body[data-route="home"] .home-image-hero .display {
  font-size: clamp(30px, 3.05vw, 45px) !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: 0 !important;
}

.image-hero .display > br {
  display: none !important;
}

.image-hero .display .about-rotator,
body[data-route] .image-hero .display .about-rotator,
body[data-route="home"] .home-image-hero .display .about-rotator {
  display: block !important;
  width: 100% !important;
  height: 1.1em !important;
  margin: .14em 0 0 !important;
  color: rgb(200, 171, 88) !important;
  -webkit-text-fill-color: rgb(200, 171, 88) !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-style: normal !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}

.image-hero .display .about-phrase,
.image-hero .display .about-letter {
  font-family: inherit !important;
  font-size: inherit !important;
  font-style: normal !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}

/* FINAL CIRCULAR COOKIE BUTTON */
.cookie-float {
  width: 58px !important;
  height: 58px !important;
  border-radius: 50% !important;
  color: rgb(200, 171, 88) !important;
  background:
    radial-gradient(circle at 32% 24%, rgba(255, 255, 255, .24), transparent 33%),
    linear-gradient(145deg, rgba(18, 64, 108, .92), rgba(6, 25, 52, .98)) !important;
  border: 1px solid rgba(200, 171, 88, .86) !important;
  box-shadow:
    0 15px 28px rgba(0, 13, 31, .28),
    inset 2px 2px 3px rgba(255, 255, 255, .18),
    inset -3px -4px 8px rgba(0, 12, 31, .42) !important;
}

.cookie-float:hover {
  transform: translateY(-2px) !important;
  background:
    radial-gradient(circle at 32% 24%, rgba(255, 255, 255, .3), transparent 34%),
    linear-gradient(145deg, rgba(25, 78, 129, .96), rgba(7, 31, 65, .98)) !important;
  box-shadow:
    0 18px 32px rgba(0, 13, 31, .32),
    inset 2px 2px 3px rgba(255, 255, 255, .2),
    inset -3px -4px 8px rgba(0, 12, 31, .38) !important;
}

.cookie-float svg {
  width: 36px !important;
  height: 36px !important;
}

/* FINAL SMALLER COOKIE THANK YOU */
.toast.success {
  width: min(430px, calc(100% - 32px)) !important;
  min-height: 76px !important;
  padding: 16px 20px !important;
  gap: 13px !important;
  border-radius: 18px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

.toast.success strong {
  margin-bottom: 1px !important;
  font-size: 18px !important;
}

.toast-smile {
  width: 46px !important;
  height: 46px !important;
  flex-basis: 46px !important;
}

.toast-smile svg {
  width: 24px !important;
  height: 24px !important;
}

/* FINAL LIGHT GLASS COOKIE BUTTON */
.cookie-float {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  color: rgb(200, 171, 88) !important;
  border: 1px solid rgba(255, 255, 255, .62) !important;
  background:
    radial-gradient(circle at 30% 24%, rgba(255, 255, 255, .92), rgba(255, 255, 255, .22) 34%, transparent 58%),
    linear-gradient(145deg, rgba(255, 255, 255, .58), rgba(219, 232, 245, .28) 48%, rgba(200, 171, 88, .12)) !important;
  box-shadow:
    8px 9px 18px rgba(8, 38, 76, .16),
    -5px -5px 14px rgba(255, 255, 255, .52),
    inset 1px 1px 1px rgba(255, 255, 255, .78),
    inset -2px -3px 6px rgba(75, 105, 136, .14) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.22);
  backdrop-filter: blur(18px) saturate(1.22);
}

.cookie-float:hover {
  transform: translateY(-2px) !important;
  background:
    radial-gradient(circle at 30% 24%, rgba(255, 255, 255, .98), rgba(255, 255, 255, .3) 35%, transparent 58%),
    linear-gradient(145deg, rgba(255, 255, 255, .68), rgba(224, 236, 247, .34) 48%, rgba(200, 171, 88, .16)) !important;
  box-shadow:
    10px 11px 22px rgba(8, 38, 76, .18),
    -5px -5px 14px rgba(255, 255, 255, .58),
    inset 1px 1px 1px rgba(255, 255, 255, .84),
    inset -2px -3px 6px rgba(75, 105, 136, .12) !important;
}

.cookie-float svg {
  width: 29px !important;
  height: 29px !important;
}

/* FINAL COMPACT COOKIE TOAST */
.toast.success {
  width: max-content !important;
  max-width: min(430px, calc(100% - 32px)) !important;
  min-height: 0 !important;
  padding: 13px 16px !important;
  gap: 11px !important;
  border-radius: 14px !important;
}

.toast.success > span:last-child {
  display: block;
  max-width: 310px;
}

.toast-smile.cookie-toast-icon {
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
  border: 1px solid rgba(255, 255, 255, .62) !important;
  border-radius: 50% !important;
  color: rgb(200, 171, 88) !important;
  background:
    radial-gradient(circle at 30% 24%, rgba(255, 255, 255, .92), rgba(255, 255, 255, .22) 34%, transparent 58%),
    linear-gradient(145deg, rgba(255, 255, 255, .58), rgba(219, 232, 245, .28) 48%, rgba(200, 171, 88, .12)) !important;
}

.toast-smile.cookie-toast-icon svg {
  width: 27px !important;
  height: 27px !important;
}

.toast-smile.cookie-toast-icon .cookie-main {
  fill: rgb(200, 171, 88);
}

.toast-smile.cookie-toast-icon .cookie-chip {
  fill: #08264c;
}

.toast-smile.cookie-toast-icon .cookie-crumb {
  fill: rgb(200, 171, 88);
}

/* FINAL FOOTER COOKIE CONTROL */
.cookie-consent {
  position: fixed !important;
  left: clamp(16px, 3vw, 34px) !important;
  right: auto !important;
  bottom: clamp(16px, 3vw, 34px) !important;
  z-index: 10020;
  pointer-events: none;
}

.cookie-consent > .cookie-float {
  display: none !important;
}

.cookie-consent .cookie-panel {
  left: 0 !important;
  right: auto !important;
  bottom: 0 !important;
}

.footer-bottom {
  position: relative;
}

.footer-cookie-button {
  position: absolute;
  left: clamp(8px, 1.5vw, 18px);
  bottom: 0;
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .62);
  border-radius: 50%;
  color: rgb(200, 171, 88);
  background:
    radial-gradient(circle at 30% 24%, rgba(255, 255, 255, .88), rgba(255, 255, 255, .22) 34%, transparent 58%),
    linear-gradient(145deg, rgba(255, 255, 255, .5), rgba(219, 232, 245, .25) 48%, rgba(200, 171, 88, .14));
  box-shadow:
    7px 8px 16px rgba(8, 38, 76, .18),
    -4px -4px 12px rgba(255, 255, 255, .42),
    inset 1px 1px 1px rgba(255, 255, 255, .76),
    inset -2px -3px 6px rgba(75, 105, 136, .14);
  -webkit-backdrop-filter: blur(18px) saturate(1.18);
  backdrop-filter: blur(18px) saturate(1.18);
  cursor: pointer;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

.footer-cookie-button:hover {
  transform: translateY(-3px);
  box-shadow:
    9px 11px 20px rgba(8, 38, 76, .2),
    -4px -4px 12px rgba(255, 255, 255, .5),
    inset 1px 1px 1px rgba(255, 255, 255, .84),
    inset -2px -3px 6px rgba(75, 105, 136, .12);
}

.footer-cookie-button svg {
  width: 27px;
  height: 27px;
}

.footer-cookie-button .cookie-main {
  fill: rgb(200, 171, 88);
}

.footer-cookie-button .cookie-chip {
  fill: #08264c;
}

.footer-cookie-button .cookie-crumb {
  fill: rgb(200, 171, 88);
}

@media (max-width: 720px) {
  .footer-cookie-button {
    position: static;
    margin: 0 auto 8px 0;
  }

  .cookie-consent .cookie-panel {
    width: min(520px, calc(100vw - 24px));
  }
}

/* FINAL COOKIE PANEL ICON MATCH */
.cookie-mark {
  width: 48px !important;
  height: 48px !important;
  flex: 0 0 48px !important;
  border: 1px solid rgba(255, 255, 255, .62) !important;
  border-radius: 50% !important;
  color: rgb(200, 171, 88) !important;
  background:
    radial-gradient(circle at 30% 24%, rgba(255, 255, 255, .88), rgba(255, 255, 255, .22) 34%, transparent 58%),
    linear-gradient(145deg, rgba(255, 255, 255, .5), rgba(219, 232, 245, .25) 48%, rgba(200, 171, 88, .14)) !important;
  box-shadow:
    7px 8px 16px rgba(8, 38, 76, .18),
    -4px -4px 12px rgba(255, 255, 255, .24),
    inset 1px 1px 1px rgba(255, 255, 255, .76),
    inset -2px -3px 6px rgba(75, 105, 136, .14) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.18);
  backdrop-filter: blur(18px) saturate(1.18);
}

.cookie-mark svg {
  width: 29px !important;
  height: 29px !important;
}

.cookie-mark .cookie-main {
  fill: rgb(200, 171, 88) !important;
}

.cookie-mark .cookie-chip {
  fill: #08264c !important;
}

.cookie-mark .cookie-crumb {
  fill: rgb(200, 171, 88) !important;
}

/* FINAL COOKIE INSIDE FOOTER GLASS */
.footer-top {
  position: relative !important;
}

.footer-top .footer-cookie-button {
  position: absolute !important;
  left: clamp(14px, 1.8vw, 24px) !important;
  bottom: clamp(14px, 1.8vw, 24px) !important;
  z-index: 2;
}

.footer-cookie-row {
  width: min(100%, 315px);
  display: flex;
  justify-content: flex-start;
}

.social-links .footer-cookie-button {
  position: static !important;
  left: auto !important;
  bottom: auto !important;
  width: 45px !important;
  height: 45px !important;
  flex: 0 0 45px !important;
  margin: 0 !important;
}

@media (max-width: 760px) {
  .footer-connect .social-links {
    width: min(100%, 190px) !important;
    display: grid !important;
    grid-template-columns: repeat(19, 10px) !important;
    grid-template-rows: repeat(2, 40px) !important;
    grid-template-areas: none !important;
    gap: 8px 0 !important;
    justify-content: center !important;
  }

  .footer-top .footer-cookie-button {
    position: static !important;
    width: 40px !important;
    height: 40px !important;
    flex: 0 0 40px !important;
    margin: 0 !important;
  }

  .footer-top .footer-cookie-button svg {
    width: 24px !important;
    height: 24px !important;
  }

  .footer-connect .facebook { grid-column: 3 / span 4; grid-row: 1; }
  .footer-connect .linkedin { grid-column: 8 / span 4; grid-row: 1; }
  .footer-connect .instagram { grid-column: 13 / span 4; grid-row: 1; }
  .footer-connect .footer-cookie-button { grid-column: 1 / span 4; grid-row: 2; }
  .footer-connect .tiktok { grid-column: 6 / span 4; grid-row: 2; }
  .footer-connect .youtube { grid-column: 11 / span 4; grid-row: 2; }
  .footer-connect .share { grid-column: 16 / span 4; grid-row: 2; }
}

/* FINAL PRIVACY + COOKIE PAGE LAYOUT */
body[data-route="privacy"] .privacy-info-section {
  padding-bottom: clamp(18px, 2.5vw, 30px) !important;
}

body[data-route="privacy"] .privacy-cookie-section {
  padding-top: clamp(8px, 1.4vw, 18px) !important;
  padding-bottom: clamp(34px, 5vw, 58px) !important;
}

body[data-route="privacy"] .privacy-page-label {
  margin: 0 0 18px !important;
  color: #08264c !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
}

body[data-route="privacy"] .privacy-page-label::before {
  width: 12px !important;
  height: 12px !important;
  flex: 0 0 12px !important;
}

body[data-route="privacy"] .privacy-tiles {
  gap: 18px !important;
}

body[data-route="privacy"] .cookie-tiles {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

body[data-route="privacy"] .legal-grid .neo-card {
  min-height: 168px !important;
  padding: 24px !important;
}

body[data-route="privacy"] .legal-grid h2 {
  margin-bottom: 12px !important;
  font-size: clamp(19px, 1.55vw, 24px) !important;
  line-height: 1.08 !important;
}

body[data-route="privacy"] .legal-grid p {
  font-size: 14px !important;
  line-height: 1.55 !important;
}

body[data-route="privacy"] .cookie-page-action {
  margin-top: 16px !important;
  display: flex !important;
  justify-content: flex-start !important;
}

body[data-route="privacy"] .cookie-settings-page-button {
  min-height: 44px !important;
  padding: 11px 18px !important;
  border-radius: 10px !important;
  color: #08264c !important;
  background: rgba(200, 171, 88, .22) !important;
}

@media (max-width: 1100px) {
  body[data-route="privacy"] .cookie-tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* FINAL GOLD TILE ACCENTS */
.neo-card,
.neo-card.accent-cyan,
.neo-card.accent-indigo {
  --card-accent: rgb(200, 171, 88) !important;
}

.neo-card::before {
  background: rgb(200, 171, 88) !important;
  box-shadow: 0 5px 16px rgba(200, 171, 88, .32) !important;
}

/* FINAL TILE TITLE TYPOGRAPHY */
.section-title,
.statement h2,
.feature-band h2,
.footer-connect h3,
.neo-card h2,
.neo-card h3,
.service-card h2,
.article-card h2,
.article-card h3,
.article-feature h3,
.insights-glass-tile h3,
.expert-callout-copy h2,
.people-heading h2,
.services-gallery-heading h2,
.contact-choice h2 {
  color: #08264c !important;
  font-family: "Montserrat","Jost","Century Gothic",system-ui,sans-serif !important;
  font-size: clamp(30px, 3.05vw, 45px) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.section-title em,
.statement h2 em,
.feature-band h2 em,
.footer-connect h3 em,
.services-gallery-heading h2 em,
.contact-copy .display em,
.display em {
  color: rgb(200, 171, 88) !important;
  font-style: normal !important;
  font-weight: 400 !important;
}

.feature-band h2,
.footer-connect h3,
.expert-callout-copy h2 {
  text-shadow: none !important;
}

.page-link h3 {
  color: #08264c !important;
  font-family: "Montserrat","Jost","Century Gothic",system-ui,sans-serif !important;
  font-size: clamp(30px, 3.05vw, 45px) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.feature-band h2 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.feature-band h2 em {
  color: rgb(200, 171, 88) !important;
  -webkit-text-fill-color: rgb(200, 171, 88) !important;
}

body[data-route="home"] .split-head .section-title,
body[data-route="home"] .feature-band h2,
body[data-route="home"] .page-link h3,
.section-title,
.statement h2,
.feature-band h2,
.neo-card h3,
.page-link h3,
.service-card h2,
.article-card h2,
.article-card h3,
.article-feature h3,
.insights-glass-tile h3,
.expert-callout-copy h2,
.people-heading h2,
.services-gallery-heading h2,
.contact-choice h2 {
  font-size: clamp(30px, 3.05vw, 45px) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.04 !important;
  letter-spacing: 0 !important;
}

body[data-route="home"] .feature-band h2,
.feature-band h2 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.feature-band .light-label,
.metric strong,
.floating-panel span,
.process-card > span,
.process-icon,
.service-symbol,
.read i,
.case-study-back,
.case-study-back span,
.insights-glass-tile i,
.contact-copy .display em,
.about-pillar span {
  color: rgb(200, 171, 88) !important;
}

@media (max-width: 640px) {
  body[data-route="privacy"] .privacy-tiles,
  body[data-route="privacy"] .cookie-tiles {
    grid-template-columns: 1fr !important;
  }

  body[data-route="privacy"] .cookie-page-action {
    justify-content: stretch !important;
  }

  body[data-route="privacy"] .cookie-settings-page-button {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* FINAL BODY COPY + DESKTOP FOOTER COOKIE POSITION */
body[data-route="home"] .home-steps .neo-card p,
body[data-route="home"] .feature-band p,
.neo-card p,
.feature-band p {
  font-size: clamp(16px, 1.5vw, 19px) !important;
}

.footer-top {
  position: relative !important;
}

@media (min-width: 761px) {
  .footer-top .footer-cookie-button,
  .footer-connect .social-links .footer-cookie-button,
  .social-links .footer-cookie-button {
    position: absolute !important;
    left: clamp(18px, 2vw, 30px) !important;
    bottom: clamp(18px, 2vw, 30px) !important;
    width: 45px !important;
    height: 45px !important;
    flex: 0 0 45px !important;
    margin: 0 !important;
    z-index: 3 !important;
  }
}

@media (max-width: 760px) {
  .footer-top .footer-cookie-button,
  .footer-connect .social-links .footer-cookie-button,
  .social-links .footer-cookie-button {
    position: static !important;
    left: auto !important;
    bottom: auto !important;
  }
}

/* FINAL HOME STEP IMAGE LABEL */
body[data-route="home"] .step-photo {
  position: relative !important;
}

body[data-route="home"] .step-photo-title {
  position: absolute;
  left: clamp(21px, 2.2vw, 31px);
  top: auto;
  bottom: clamp(21px, 2.2vw, 30px);
  transform: none;
  z-index: 2;
  color: rgb(200, 171, 88);
  font: 850 clamp(15px, 1.15vw, 17px)/1.1 "Montserrat","Jost","Century Gothic",system-ui,sans-serif;
  letter-spacing: .15em;
  text-transform: uppercase;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none;
  text-shadow: 0 2px 12px rgba(0, 9, 25, .74);
}

body[data-route="home"] .home-steps .neo-card h3 {
  font-size: clamp(20px, 2vw, 26px) !important;
  line-height: 1.16 !important;
}

/* FINAL FEATURE BAND METRICS AS TEXT ROWS */
body[data-route="home"] .feature-band .metric-row {
  margin-top: clamp(18px, 2vw, 28px) !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}

body[data-route="home"] .feature-band .metric {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-route="home"] .feature-band .metric strong,
body[data-route="home"] .feature-band .metric span {
  display: inline !important;
  font-family: "Montserrat","Jost","Century Gothic",system-ui,sans-serif !important;
  font-size: clamp(16px, 1.5vw, 19px) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.62 !important;
}

body[data-route="home"] .feature-band .metric strong {
  color: #c9d8ea !important;
}

body[data-route="home"] .feature-band .metric span {
  color: #c9d8ea !important;
}

body[data-route="home"] .feature-band .metric span::before {
  content: " ";
}

body[data-route="home"] .feature-band {
  position: relative !important;
}

body[data-route="home"] .feature-band::before {
  display: none !important;
  opacity: 0 !important;
}

body[data-route="home"] .feature-talk-button {
  position: absolute !important;
  right: clamp(28px, 4vw, 56px) !important;
  bottom: clamp(24px, 3vw, 42px) !important;
  margin: 0 !important;
}

@media (max-width: 760px) {
  body[data-route="home"] .feature-talk-button {
    position: static !important;
    margin-top: 22px !important;
  }
}

body[data-route="home"] .step-photo::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 42%;
  background: linear-gradient(180deg, transparent, rgba(4, 24, 51, .58));
  pointer-events: none;
}

/* FINAL GOLD GLASS ACTIONS */
.page-link b,
.circle-arrow {
  width: 52px !important;
  height: 52px !important;
  color: var(--navy) !important;
  border: 1px solid rgba(200, 171, 88, .86) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .52), rgba(220, 232, 245, .26) 54%, rgba(255, 255, 255, .14)) !important;
  box-shadow:
    3px 4px 10px rgba(4, 22, 48, .14),
    inset 1px 1px 2px rgba(255, 255, 255, .74),
    inset -2px -3px 6px rgba(6, 30, 62, .1) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.12) !important;
  backdrop-filter: blur(14px) saturate(1.12) !important;
}

.page-link:hover b,
.service-card:hover .circle-arrow,
.page-link b:hover,
.circle-arrow:hover {
  color: var(--navy) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .56), rgba(232, 225, 198, .28) 54%, rgba(200, 171, 88, .11)) !important;
  box-shadow:
    3px 5px 11px rgba(4, 22, 48, .15),
    inset 1px 1px 2px rgba(255, 255, 255, .78),
    inset -2px -3px 6px rgba(112, 88, 25, .08) !important;
}

.page-link b:active,
.circle-arrow:active {
  color: var(--navy) !important;
  background:
    linear-gradient(145deg, rgba(232, 215, 156, .42), rgba(255, 255, 255, .48)) !important;
  box-shadow:
    1px 2px 6px rgba(4, 22, 48, .12),
    inset 2px 3px 7px rgba(112, 88, 25, .1),
    inset -1px -1px 2px rgba(255, 255, 255, .76) !important;
}

.button.soft:not(.cookie-button) {
  color: var(--navy) !important;
  border: 1px solid rgba(200, 171, 88, .86) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .72), rgba(224, 235, 246, .46) 52%, rgba(200, 171, 88, .08)) !important;
  box-shadow:
    9px 11px 21px rgba(4, 22, 48, .17),
    -7px -7px 16px rgba(255, 255, 255, .84),
    inset 1px 1px 2px rgba(255, 255, 255, .84),
    inset -3px -4px 8px rgba(6, 30, 62, .1) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.12) !important;
  backdrop-filter: blur(14px) saturate(1.12) !important;
}

.button.soft:not(.cookie-button):hover {
  color: var(--navy) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .76), rgba(238, 229, 195, .46) 54%, rgba(200, 171, 88, .18)) !important;
}

.button.soft:not(.cookie-button):active {
  color: var(--navy) !important;
  background:
    linear-gradient(145deg, rgba(232, 215, 156, .38), rgba(255, 255, 255, .5)) !important;
}

body[data-route="home"] .feature-talk-button {
  width: min(100%, 315px) !important;
  min-height: 56px !important;
  padding: 8px 9px 8px 21px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  overflow: hidden !important;
  border-radius: 13px !important;
  color: #f8fbff !important;
  border: 1px solid rgba(200, 171, 88, .86) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .12), rgba(158, 191, 221, .08) 50%, rgba(7, 35, 73, .12)) !important;
  box-shadow:
    inset 1px 1px 1px rgba(255, 255, 255, .34),
    inset -2px -3px 6px rgba(1, 18, 42, .18) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.18) !important;
  backdrop-filter: blur(16px) saturate(1.18) !important;
}

body[data-route="home"] .feature-talk-button:hover {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .16), rgba(221, 208, 166, .14) 52%, rgba(7, 35, 73, .1)) !important;
  box-shadow:
    inset 1px 1px 1px rgba(255, 255, 255, .4),
    inset -2px -3px 6px rgba(112, 88, 25, .09) !important;
}

body[data-route="home"] .feature-talk-button:active {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .1), rgba(200, 171, 88, .14)) !important;
  box-shadow:
    inset 2px 3px 7px rgba(112, 88, 25, .1),
    inset -1px -1px 2px rgba(255, 255, 255, .7) !important;
}

body[data-route="home"] .feature-talk-button .footer-cta-label {
  color: #f8fbff !important;
}

body[data-route="home"] .feature-talk-button i {
  width: 41px !important;
  height: 41px !important;
  flex: 0 0 41px !important;
  display: grid !important;
  place-items: center !important;
  color: #08264c !important;
  border: 1px solid rgba(200, 171, 88, .9) !important;
  border-radius: 50% !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .54), rgba(220, 232, 245, .28) 54%, rgba(255, 255, 255, .16)) !important;
  box-shadow:
    3px 4px 10px rgba(4, 22, 48, .14),
    inset 1px 1px 2px rgba(255, 255, 255, .76),
    inset -2px -3px 6px rgba(6, 30, 62, .1) !important;
  font-style: normal !important;
}

body[data-route="home"] .feature-talk-button:hover i {
  transform: rotate(45deg) !important;
}

/* FINAL FOOTER CONTACT BUTTON */
.footer-connect {
  justify-content: flex-start !important;
}

.footer .footer-cta {
  width: min(100%, 315px) !important;
  min-height: 56px !important;
  padding: 8px 9px 8px 21px !important;
  border: 1px solid rgba(200, 171, 88, .86) !important;
  border-radius: 13px !important;
  color: #f8fbff !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .12), rgba(158, 191, 221, .08) 50%, rgba(7, 35, 73, .12)) !important;
  box-shadow:
    inset 1px 1px 1px rgba(255, 255, 255, .34),
    inset -2px -3px 6px rgba(1, 18, 42, .18) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.16) !important;
  backdrop-filter: blur(16px) saturate(1.16) !important;
  text-transform: none !important;
}

.footer .footer-cta::before {
  display: none !important;
}

.footer-cta-label {
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.12 !important;
}

.footer-cta-label small {
  color: rgb(200, 171, 88) !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.footer .footer-cta i {
  width: 41px !important;
  height: 41px !important;
  flex-basis: 41px !important;
  color: #08264c !important;
  border: 1px solid rgba(200, 171, 88, .9) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .54), rgba(220, 232, 245, .28) 54%, rgba(255, 255, 255, .16)) !important;
  box-shadow:
    3px 4px 10px rgba(4, 22, 48, .14),
    inset 1px 1px 2px rgba(255, 255, 255, .76),
    inset -2px -3px 6px rgba(6, 30, 62, .1) !important;
}

.footer .footer-cta:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(200, 171, 88, .98) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .16), rgba(221, 208, 166, .14) 52%, rgba(7, 35, 73, .1)) !important;
  box-shadow:
    inset 1px 1px 1px rgba(255, 255, 255, .4),
    inset -2px -3px 6px rgba(112, 88, 25, .09) !important;
  filter: none !important;
}

.footer .footer-cta:hover i {
  transform: rotate(45deg) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .58), rgba(232, 225, 198, .28) 54%, rgba(200, 171, 88, .11)) !important;
}

/* FINAL FOOTER LOWER SOCIAL ROW */
.footer-connect .social-links {
  margin-top: 14px !important;
}

@media (min-width: 761px) {
  .footer-connect {
    margin-top: clamp(31px, 2.6vw, 39px) !important;
  }
}

@media (min-width: 761px) {
  .footer-top .footer-cookie-button,
  .footer-connect .social-links .footer-cookie-button,
  .social-links .footer-cookie-button {
    bottom: clamp(2px, .7vw, 10px) !important;
  }
}

/* FINAL HOME TALK BUTTON SIMPLE */
body[data-route="home"] .feature-talk-button {
  width: min(100%, 315px) !important;
  min-height: 56px !important;
  padding: 8px 9px 8px 21px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  border-radius: 13px !important;
  color: #f8fbff !important;
  border: 1px solid rgba(200, 171, 88, .86) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .12), rgba(158, 191, 221, .08) 50%, rgba(7, 35, 73, .12)) !important;
  box-shadow:
    inset 1px 1px 1px rgba(255, 255, 255, .34),
    inset -2px -3px 6px rgba(1, 18, 42, .18) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.16) !important;
  backdrop-filter: blur(16px) saturate(1.16) !important;
}

body[data-route="home"] .feature-talk-button:hover {
  color: #f8fbff !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .16), rgba(221, 208, 166, .14) 52%, rgba(7, 35, 73, .1)) !important;
  box-shadow:
    inset 1px 1px 1px rgba(255, 255, 255, .4),
    inset -2px -3px 6px rgba(112, 88, 25, .09) !important;
}

body[data-route="home"] .feature-talk-button:active {
  color: #f8fbff !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .1), rgba(200, 171, 88, .14)) !important;
  box-shadow:
    inset 2px 3px 7px rgba(112, 88, 25, .1),
    inset -1px -1px 2px rgba(255, 255, 255, .7) !important;
}

body[data-route="home"] .feature-talk-button span {
  color: #f8fbff !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

/* FINAL HOME TALK BUTTON COMPACT NO GLOW */
body[data-route="home"] .feature-talk-button {
  width: fit-content !important;
  min-width: 0 !important;
  padding: 8px 9px 8px 20px !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  filter: none !important;
  text-shadow: none !important;
}

body[data-route="home"] .feature-talk-button:hover,
body[data-route="home"] .feature-talk-button:active {
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
}

body[data-route="home"] .feature-talk-button i,
body[data-route="home"] .feature-talk-button:hover i,
body[data-route="home"] .feature-talk-button:active i {
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
}

/* FINAL MOBILE HOME STEP CARD HEIGHT */
@media (max-width: 760px) {
  body[data-route="home"] .home-steps .neo-card {
    min-height: 0 !important;
    height: auto !important;
    padding: 20px !important;
  }

  body[data-route="home"] .step-photo {
    height: clamp(170px, 48vw, 230px) !important;
    margin: -20px -20px 20px !important;
  }

  body[data-route="home"] .home-steps .neo-card h3 {
    margin: 16px 0 10px !important;
  }

  body[data-route="home"] .home-steps .neo-card p {
    margin: 0 !important;
    line-height: 1.45 !important;
  }
}

/* FINAL HOME TALK BUTTON NO WHITE BLOOM */
body[data-route="home"] .feature-talk-button,
body[data-route="home"] .feature-talk-button:hover,
body[data-route="home"] .feature-talk-button:active {
  background: rgba(255, 255, 255, .09) !important;
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body[data-route="home"] .feature-talk-button i,
body[data-route="home"] .feature-talk-button:hover i,
body[data-route="home"] .feature-talk-button:active i {
  background: rgba(255, 255, 255, .18) !important;
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
}

/* FINAL ABSOLUTE HOME TALK BUTTON OVERRIDE */
.button.soft.feature-talk-button,
.button.soft.feature-talk-button:hover,
.button.soft.feature-talk-button:active {
  width: fit-content !important;
  min-width: 0 !important;
  padding: 8px 9px 8px 20px !important;
  background: rgba(255, 255, 255, .18) !important;
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.button.soft.feature-talk-button i,
.button.soft.feature-talk-button:hover i,
.button.soft.feature-talk-button:active i {
  background: rgba(255, 255, 255, .28) !important;
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
}

/* FINAL MOBILE HAMBURGER GOLD OUTLINE */
.nav .menu,
.menu {
  border-color: rgb(200, 171, 88) !important;
}

/* FINAL HOME TALK BUTTON HOVER BEHAVIOUR */
.button.soft.feature-talk-button span,
.button.soft.feature-talk-button:hover span {
  transform: none !important;
}

.button.soft.feature-talk-button:hover {
  background: rgba(200, 171, 88, .18) !important;
  border-color: rgba(200, 171, 88, .96) !important;
}

.button.soft.feature-talk-button:hover span {
  font-weight: 700 !important;
}

.button.soft.feature-talk-button:hover i {
  transform: rotate(45deg) !important;
}

/* FINAL ABOUT STORY TYPE SIZE */
body[data-route="about"] .about-story h2 {
  font-size: clamp(30px, 3.05vw, 45px) !important;
  line-height: 1.08 !important;
}

body[data-route="about"] .about-story .about-intro {
  font-size: clamp(16px, 1.5vw, 19px) !important;
  line-height: 1.68 !important;
}

/* FINAL HOME FEATURE METRIC GOLD */
body[data-route="home"] .feature-band .metric strong,
body[data-route="home"] .feature-band .metric span {
  color: rgb(200, 171, 88) !important;
}

/* FINAL ABOUT OVERVIEW COMPACT FIT */
body[data-route="about"] .about-overview {
  align-items: stretch !important;
  gap: clamp(18px, 2.2vw, 28px) !important;
}

body[data-route="about"] .about-story {
  min-height: 0 !important;
  padding: clamp(26px, 2.7vw, 38px) clamp(32px, 3.4vw, 48px) clamp(22px, 2.1vw, 30px) !important;
}

body[data-route="about"] .about-story .tile-kicker {
  display: inline-flex !important;
  margin-bottom: 32px !important;
}

body[data-route="about"] .about-story .about-intro {
  margin-top: 0 !important;
}

body[data-route="about"] .about-story .about-contact-button {
  margin-top: 22px !important;
}

body[data-route="about"] .about-image-card {
  min-height: 0 !important;
  height: auto !important;
  align-self: stretch !important;
}

body[data-route="about"] .about-image-card img {
  min-height: 0 !important;
  height: 100% !important;
}

@media (max-width: 760px) {
  body[data-route="about"] .about-story {
    padding: 24px 22px 22px !important;
  }

  body[data-route="about"] .about-story .tile-kicker {
    margin-bottom: 28px !important;
  }

  body[data-route="about"] .about-image-card,
  body[data-route="about"] .about-image-card img {
    height: auto !important;
    min-height: 220px !important;
    max-height: 300px !important;
  }
}

/* FINAL MOBILE ROUTE SMOOTHING */
@media (max-width: 760px) {
  html.is-route-changing::after,
  body.is-route-changing::after,
  body.is-loading::after,
  .route-loader {
    display: none !important;
    opacity: 0 !important;
    animation: none !important;
  }

  #app,
  .page-enter,
  .reveal {
    transition-duration: .12s !important;
  }

  #app,
  .page-enter {
    animation: none !important;
    transform: none !important;
  }

  .is-route-changing .reveal,
  .reveal {
    opacity: 1 !important;
    transition: none !important;
    transform: none !important;
  }
}

/* FINAL ABOUT CARD BOTTOM SPACE */
body[data-route="about"] .about-overview {
  margin-bottom: 75px !important;
  align-items: start !important;
}

body[data-route="about"] .about-story {
  align-self: start !important;
  padding-bottom: clamp(10px, 1.1vw, 16px) !important;
}

@media (max-width: 760px) {
  body[data-route="about"] .about-overview {
    margin-bottom: 90px !important;
  }

  body[data-route="about"] .about-story {
    padding-bottom: 12px !important;
  }
}

/* FINAL ABOUT CARD IMAGE LEVEL AND BUTTON SPACE */
body[data-route="about"] .about-overview {
  align-items: stretch !important;
}

body[data-route="about"] .about-story {
  align-self: stretch !important;
  padding-bottom: 45px !important;
}

body[data-route="about"] .about-image-card {
  align-self: stretch !important;
  min-height: 0 !important;
  height: auto !important;
}

body[data-route="about"] .about-image-card img {
  position: absolute !important;
  inset: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
}

@media (max-width: 760px) {
  body[data-route="about"] .about-story {
    padding-bottom: 42px !important;
  }
}

/* FINAL HOME TICKER GOLD OUTLINE */
body[data-route="home"] .ticker {
  border: 1px solid rgba(200, 171, 88, .92) !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, rgba(244,249,255,.94), rgba(213,226,242,.9)) !important;
  box-shadow: 0 10px 21px rgba(63,91,122,.16), inset 1px 2px 1px rgba(255,255,255,.72), inset -2px -3px 5px rgba(54,99,142,.1) !important;
}

body[data-route="home"] .ticker::after {
  inset: 0 !important;
  border-radius: 16px !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.28) !important;
}

/* FINAL CTA ARROW COLOR */
body[data-route="home"] .feature-talk-button i,
.footer .footer-cta i {
  color: #fff !important;
}

/* FINAL SERVICES TILE TYPE AND GOLD ARROWS */
body[data-route="services"] .service-case-glass strong {
  font-size: clamp(20px, 2vw, 26px) !important;
  font-weight: 400 !important;
  line-height: 1.16 !important;
  letter-spacing: 0 !important;
}

body[data-route="services"] .service-case-glass > span {
  font-size: clamp(16px, 1.5vw, 19px) !important;
  line-height: 1.5 !important;
}

body[data-route="services"] .service-case-glass {
  height: 212px !important;
  min-height: 212px !important;
  justify-content: flex-start !important;
}

body[data-route="services"] .service-case-glass i {
  border-color: rgba(200, 171, 88, .95) !important;
  background: rgba(200, 171, 88, 0) !important;
  color: #fff !important;
}

body[data-route="services"] .service-case-card:hover .service-case-glass,
body[data-route="services"] .service-case-card:focus-visible .service-case-glass {
  background: linear-gradient(135deg, rgba(244,249,255,.28), rgba(88,68,22,.44)) !important;
}

body[data-route="services"] .service-case-card:hover .service-case-glass i,
body[data-route="services"] .service-case-card:focus-visible .service-case-glass i {
  background: rgba(200, 171, 88, .14) !important;
  color: #fff !important;
}

/* FINAL CASE STUDY BACK BUTTON */
.case-study-back {
  min-height: 49px !important;
  padding: 7px 18px 7px 9px !important;
  gap: 12px !important;
  border: 1px solid rgba(115,159,196,.62) !important;
  border-radius: 16px !important;
  color: #173f6b !important;
  background: linear-gradient(145deg,rgba(255,255,255,.78),rgba(223,235,246,.64)) !important;
  box-shadow: 0 10px 21px rgba(63,91,122,.2), inset 2px 2px 2px rgba(255,255,255,.74), inset -2px -3px 6px rgba(54,99,142,.12) !important;
  font: 400 16px/1.2 "Montserrat","Jost","Century Gothic",system-ui,sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.case-study-back span {
  width: 36px !important;
  height: 36px !important;
  border: 1px solid rgb(200,171,88) !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #173f6b !important;
  box-shadow: none !important;
  font-size: 22px !important;
  font-weight: 400 !important;
}

.case-study-back:hover,
.case-study-back:focus-visible {
  color: #0d315d !important;
  background: linear-gradient(145deg,rgba(255,255,255,.84),rgba(223,235,246,.68)) !important;
  box-shadow: 0 12px 24px rgba(63,91,122,.18), inset 2px 2px 2px rgba(255,255,255,.8), inset -2px -3px 6px rgba(54,99,142,.1) !important;
  transform: translateY(-2px) !important;
}

/* FINAL SERVICE DETAIL CTA */
.case-study-cta {
  min-height: 82px !important;
  padding: 13px 16px 13px 22px !important;
  overflow: hidden !important;
  border: 1px solid rgba(200,171,88,.92) !important;
  border-radius: 23px !important;
  color: #f8fbff !important;
  background: linear-gradient(135deg, rgba(18,64,108,.96), rgba(6,25,52,.98)) !important;
  box-shadow: 0 15px 30px rgba(0,14,31,.28), inset 2px 2px 2px rgba(255,255,255,.24), inset -3px -3px 8px rgba(0,19,42,.28) !important;
  -webkit-backdrop-filter: blur(14px) saturate(126%) !important;
  backdrop-filter: blur(14px) saturate(126%) !important;
  font-weight: 400 !important;
}

.case-study-cta::before {
  content: "" !important;
  position: absolute !important;
  inset: 1px 1px auto 1px !important;
  height: 50% !important;
  border-radius: 15px 15px 40% 40% !important;
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.025) 72%, transparent) !important;
  pointer-events: none !important;
}

.case-study-cta span {
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.12 !important;
}

.case-study-cta small {
  color: rgb(200,171,88) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .15em !important;
}

.case-study-cta i {
  width: 48px !important;
  height: 48px !important;
  border: 1px solid rgb(200,171,88) !important;
  background: transparent !important;
  color: #fff !important;
  box-shadow: inset 1px 1px 1px rgba(255,255,255,.22), inset -2px -3px 6px rgba(0,11,27,.2), 0 7px 14px rgba(0,13,31,.18) !important;
}

.case-study-cta:hover,
.case-study-cta:focus-visible {
  border-color: rgb(200,171,88) !important;
  background: linear-gradient(135deg, rgba(25,78,129,.98), rgba(7,31,65,.98)) !important;
  box-shadow: 0 18px 34px rgba(0,14,31,.3), 0 0 0 3px rgba(200,171,88,.11), inset 2px 2px 2px rgba(255,255,255,.28), inset -3px -3px 8px rgba(0,19,42,.24) !important;
  transform: translateY(-3px) !important;
}

.case-study-cta:hover i,
.case-study-cta:focus-visible i {
  background: rgba(200,171,88,.14) !important;
}

.case-study-back:hover span,
.case-study-back:focus-visible span {
  background: rgba(200,171,88,.14) !important;
  color: #173f6b !important;
  transform: translateX(-2px) !important;
}

/* FINAL PEOPLE PAGE GOLD LINES */
body[data-route="people"] .person-info::before {
  background: rgb(200,171,88) !important;
  box-shadow: 0 0 14px rgba(200,171,88,.35) !important;
}

body[data-route="people"] .person-card::after {
  background: linear-gradient(transparent, rgba(200,171,88,.72), transparent) !important;
}

/* FINAL SERVICE DETAIL TITLE TYPE */
body[data-route^="services/"] .case-study-content h1 {
  font-size: clamp(30px, 3.05vw, 45px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

/* FINAL SERVICE DETAIL BODY TYPE */
body[data-route^="services/"] .case-study-lead,
body[data-route^="services/"] .case-study-detail p,
body[data-route^="services/"] .case-study-detail li {
  font-size: clamp(16px, 1.5vw, 19px) !important;
  line-height: 1.62 !important;
}

/* FINAL PEOPLE & ORGANISATION DETAIL LIST */
body[data-route="services/people-organisation"] .case-study-detail li {
  padding-left: 0 !important;
}

body[data-route="services/people-organisation"] .case-study-detail li::before {
  display: none !important;
}

/* FINAL INSIGHTS TILE CASE STUDY LABEL */
body[data-route="insights"] .insights-glass-tile:not(.insights-recent-articles) > span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  color: #153c66 !important;
  font-size: clamp(12px, .82vw, 13px) !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

body[data-route="insights"] .insights-glass-tile:not(.insights-recent-articles) > span::before {
  content: "" !important;
  width: 10px !important;
  height: 10px !important;
  flex: 0 0 10px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 34% 30%, #edfff2, #70f09f 42%, #19a955 75%) !important;
  box-shadow: 0 0 0 4px rgba(72,232,128,.11), 0 0 14px rgba(68,239,129,.86) !important;
  animation: contact-status 2.15s ease-in-out infinite !important;
}

body[data-route="insights"] .insights-recent-articles span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  color: #153c66 !important;
  font-size: clamp(12px, .82vw, 13px) !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

body[data-route="insights"] .insights-recent-articles span::before {
  content: "" !important;
  width: 10px !important;
  height: 10px !important;
  flex: 0 0 10px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 34% 30%, #edfff2, #70f09f 42%, #19a955 75%) !important;
  box-shadow: 0 0 0 4px rgba(72,232,128,.11), 0 0 14px rgba(68,239,129,.86) !important;
  animation: contact-status 2.15s ease-in-out infinite !important;
}

/* FINAL INSIGHTS INTRO TYPE */
body[data-route="insights"] .insights-intro-glass h2 {
  font-size: clamp(30px, 3.05vw, 45px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
}

body[data-route="insights"] .insights-intro-glass p {
  font-size: clamp(16px, 1.5vw, 19px) !important;
  line-height: 1.62 !important;
}

/* FINAL INSIGHTS KICKER ALIGNMENT */
body[data-route="insights"] .insights-intro-glass {
  padding-top: clamp(8px, .65vw, 10px) !important;
}

body[data-route="insights"] .insights-intro-glass .eyebrow,
body[data-route="insights"] .insights-glass-tile:not(.insights-recent-articles) > span {
  min-height: 13px !important;
  line-height: 1 !important;
}

body[data-route="insights"] .insights-intro-glass .eyebrow {
  transform: translateY(-13px) !important;
}

/* FINAL INSIGHTS ARROW HOVER */
body[data-route="insights"] .insights-glass-tile i {
  border-color: rgba(200,171,88,.86) !important;
  color: #0a315d !important;
  background: linear-gradient(145deg, rgba(255,255,255,.72), rgba(224,235,246,.46) 52%, rgba(200,171,88,.08)) !important;
}

body[data-route="insights"] .insights-glass-tile:hover i,
body[data-route="insights"] .insights-glass-tile:focus-visible i {
  color: #0a315d !important;
  background: linear-gradient(145deg, rgba(255,255,255,.76), rgba(238,229,195,.46) 54%, rgba(200,171,88,.18)) !important;
  box-shadow: inset 1px 1px 1px rgba(255,255,255,.86), 0 8px 18px rgba(122,93,22,.16) !important;
  transform: rotate(45deg) !important;
}

/* FINAL INSIGHTS INTRO REPAIR */
body[data-route="insights"] .insights-intro-glass {
  padding: clamp(28px, 3.2vw, 42px) clamp(30px, 4vw, 48px) !important;
  overflow: hidden !important;
}

body[data-route="insights"] .insights-intro-glass .eyebrow {
  transform: none !important;
  margin: 0 0 22px !important;
}

body[data-route="insights"] .insights-intro-glass h2 {
  margin: 0 0 20px !important;
}

body[data-route="insights"] .insights-intro-glass p {
  max-width: 36rem !important;
}

/* FINAL INSIGHTS CASE TITLE MATCH HOME TILE */
body[data-route="insights"] .insights-glass-tile:not(.insights-recent-articles) h3 {
  font-family: "Montserrat","Jost","Century Gothic",system-ui,sans-serif !important;
  font-size: clamp(20px, 2vw, 26px) !important;
  font-weight: 400 !important;
  line-height: 1.16 !important;
  letter-spacing: 0 !important;
}

/* FINAL RECENT ARTICLES GOLD ACCENT */
body[data-route="insights"] .insights-recent-articles {
  border-color: rgba(200,171,88,.82) !important;
  background:
    linear-gradient(90deg, rgba(200,171,88,.14), rgba(255,255,255,.24) 42%, rgba(200,171,88,.06) 100%),
    rgba(244,250,255,.34) !important;
  box-shadow: inset 5px 0 0 rgba(200,171,88,.9), inset 1px 1px 0 rgba(255,255,255,.82), 0 16px 30px rgba(122,93,22,.11) !important;
}

body[data-route="insights"] .insights-recent-articles:hover,
body[data-route="insights"] .insights-recent-articles:focus-visible {
  border-color: rgba(200,171,88,.95) !important;
  background:
    linear-gradient(90deg, rgba(200,171,88,.18), rgba(255,255,255,.28) 42%, rgba(200,171,88,.1) 100%),
    rgba(244,250,255,.42) !important;
  box-shadow: inset 5px 0 0 rgba(200,171,88,.95), inset 1px 1px 0 rgba(255,255,255,.9), 0 18px 34px rgba(122,93,22,.14) !important;
}

body[data-route="insights"] .insights-recent-articles span {
  color: #153c66 !important;
}

/* FINAL LIGHT BUTTON GOLD OUTLINES */
body[data-route="about"] .about-story .about-contact-button,
.case-study-back {
  border-color: rgba(200,171,88,.82) !important;
  outline-color: rgba(255,255,255,.82) !important;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,.78), inset -2px -3px 6px rgba(122,93,22,.1), 0 10px 22px rgba(122,93,22,.12) !important;
}

body[data-route="about"] .about-story .about-contact-button:hover,
body[data-route="about"] .about-story .about-contact-button:focus-visible,
.case-study-back:hover,
.case-study-back:focus-visible {
  border-color: rgba(200,171,88,.95) !important;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,.86), inset -2px -3px 6px rgba(122,93,22,.12), 0 14px 28px rgba(122,93,22,.16) !important;
}

/* FINAL PEOPLE CONSULTATION LIGHT BUTTON */
body[data-route="people"] .expert-consultation {
  min-height: 58px !important;
  border: 1px solid rgba(200,171,88,.86) !important;
  border-radius: 9px !important;
  color: #0a315d !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.9), rgba(244,249,253,.74) 52%, rgba(200,171,88,.08)),
    rgba(244,250,255,.42) !important;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,.9), inset -2px -3px 6px rgba(122,93,22,.08), 0 12px 24px rgba(122,93,22,.13) !important;
}

body[data-route="people"] .expert-consultation span {
  color: #0a315d !important;
  font-weight: 400 !important;
}

body[data-route="people"] .expert-consultation small {
  color: rgb(200,171,88) !important;
  font-weight: 800 !important;
}

body[data-route="people"] .expert-consultation i {
  border-color: rgba(200,171,88,.92) !important;
  color: #0a315d !important;
  background: transparent !important;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,.78), 0 6px 14px rgba(122,93,22,.12) !important;
}

body[data-route="people"] .expert-consultation:hover,
body[data-route="people"] .expert-consultation:focus-visible {
  border-color: rgba(200,171,88,1) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.94), rgba(242,235,210,.54) 55%, rgba(200,171,88,.16)),
    rgba(244,250,255,.5) !important;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,.95), inset -2px -3px 6px rgba(122,93,22,.1), 0 16px 30px rgba(122,93,22,.17) !important;
}

body[data-route="people"] .expert-consultation:hover i,
body[data-route="people"] .expert-consultation:focus-visible i {
  color: #0a315d !important;
  background: rgba(200,171,88,.16) !important;
  transform: rotate(45deg) !important;
}

/* FINAL PEOPLE CALLOUT TYPE */
body[data-route="people"] .expert-callout-copy h2 {
  font-size: clamp(30px, 3.05vw, 45px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

body[data-route="people"] .expert-callout-copy h2 .expert-roll-line,
body[data-route="people"] .expert-callout-copy h2 .expert-roll-letter {
  color: rgb(200,171,88) !important;
}

body[data-route="people"] .expert-callout-copy h2 .expert-roll-line:first-child,
body[data-route="people"] .expert-callout-copy h2 .expert-roll-line:first-child .expert-roll-letter {
  color: #f7fbff !important;
}

body[data-route="people"] .expert-callout-copy p {
  font-size: clamp(16px, 1.5vw, 19px) !important;
  line-height: 1.62 !important;
}

/* FINAL PEOPLE WHITE PARAGRAPH SIZE */
body[data-route="people"] .expert-callout-copy p,
body[data-route="people"] .expert-callout-copy p * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-family: "Montserrat", "Jost", "Century Gothic", system-ui, sans-serif !important;
  font-size: clamp(16px, 1.5vw, 19px) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.42 !important;
}

@media (max-width: 760px) {
  body[data-route="people"] .person-card::after {
    background: linear-gradient(90deg, transparent, rgba(200,171,88,.72), transparent) !important;
  }
}

/* FINAL CONTACT FORM BUTTONS */
body[data-route="contact"] .contact-form .enquiry-action,
body[data-route="contact"] .contact-section:not(.contact-simple) .submit,
body[data-route="contact"] .submit.general,
body[data-route="contact"] .submit.consultation {
  min-height: 64px !important;
  border: 1px solid rgba(200,171,88,.88) !important;
  border-radius: 9px !important;
  color: #0a315d !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.94), rgba(244,249,253,.78) 52%, rgba(200,171,88,.1)),
    rgba(244,250,255,.5) !important;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,.92), inset -2px -3px 6px rgba(122,93,22,.08), 0 12px 24px rgba(122,93,22,.14) !important;
  text-shadow: none !important;
}

body[data-route="contact"] .contact-form .enquiry-action small,
body[data-route="contact"] .contact-form .enquiry-action b,
body[data-route="contact"] .submit small,
body[data-route="contact"] .submit b {
  color: rgb(200,171,88) !important;
}

body[data-route="contact"] .contact-form .enquiry-action span,
body[data-route="contact"] .submit span {
  color: #0a315d !important;
}

body[data-route="contact"] .contact-form .action-arrow,
body[data-route="contact"] .submit .action-arrow {
  display: inline-flex !important;
  border-color: rgba(200,171,88,.94) !important;
  color: #0a315d !important;
  background: transparent !important;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,.78), 0 6px 14px rgba(122,93,22,.12) !important;
}

body[data-route="contact"] .contact-form .enquiry-action:hover,
body[data-route="contact"] .contact-form .enquiry-action:focus-visible,
body[data-route="contact"] .contact-section:not(.contact-simple) .submit:hover,
body[data-route="contact"] .contact-section:not(.contact-simple) .submit:focus-visible {
  border-color: rgba(200,171,88,1) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(242,235,210,.58) 55%, rgba(200,171,88,.18)),
    rgba(244,250,255,.56) !important;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,.96), inset -2px -3px 6px rgba(122,93,22,.1), 0 16px 30px rgba(122,93,22,.18) !important;
  transform: translateY(-2px) !important;
}

body[data-route="contact"] .contact-form .enquiry-action:hover .action-arrow,
body[data-route="contact"] .contact-form .enquiry-action:focus-visible .action-arrow,
body[data-route="contact"] .contact-section:not(.contact-simple) .submit:hover .action-arrow,
body[data-route="contact"] .contact-section:not(.contact-simple) .submit:focus-visible .action-arrow {
  color: #0a315d !important;
  background: rgba(200,171,88,.16) !important;
  transform: rotate(45deg) !important;
}

/* FINAL CONTACT FORM ARROW CENTERING */
body[data-route="contact"] .contact-form .action-arrow,
body[data-route="contact"] .submit .action-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  flex: 0 0 40px !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
}

body[data-route="contact"] .contact-form .action-arrow::before,
body[data-route="contact"] .submit .action-arrow::before {
  content: "↗";
  display: block;
  color: #0a315d !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  transform: translate(-1px, 1px);
}

body[data-route="contact"] .contact-form .action-arrow,
body[data-route="contact"] .submit .action-arrow {
  font-size: 0 !important;
}

body[data-route="contact"] .contact-form .enquiry-action:hover .action-arrow::before,
body[data-route="contact"] .contact-form .enquiry-action:focus-visible .action-arrow::before,
body[data-route="contact"] .contact-section:not(.contact-simple) .submit:hover .action-arrow::before,
body[data-route="contact"] .contact-section:not(.contact-simple) .submit:focus-visible .action-arrow::before {
  transform: translate(-1px, 1px);
}

/* FINAL PEOPLE SIGNAL TITLES MATCH SERVICE TILE TYPE */
body[data-route="people"] .expert-signals strong,
body[data-route="people"] .expert-signals article:first-child strong {
  margin-bottom: 14px !important;
  color: #f7fbff !important;
  font: 400 clamp(18px, 2.1vw, 30px)/1.04 "Montserrat","Jost","Century Gothic",system-ui,sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body[data-route="people"] .expert-signals article strong,
body[data-route="people"] .expert-signals article:first-child strong,
body[data-route="people"] .expert-signals article span,
body[data-route="people"] .expert-signals article:first-child span {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-weight: 400 !important;
}

body[data-route="people"] .expert-signals article span,
body[data-route="people"] .expert-signals article:first-child span {
  font-size: clamp(16px, 1.5vw, 19px) !important;
}

body[data-route="people"] .person-info h2 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-weight: 400 !important;
  font-size: clamp(30px, 3.05vw, 45px) !important;
}

body[data-route="people"] .person-info p {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-weight: 400 !important;
  font-size: clamp(16px, 1.5vw, 19px) !important;
}

body[data-route="people"] .person-card:has(.crop-ewa) .person-info p {
  color: rgb(200, 171, 88) !important;
  -webkit-text-fill-color: rgb(200, 171, 88) !important;
}

body[data-route="insights"] .insights-glass-tile:not(.insights-recent-articles) h3,
body[data-route="insights"] .insights-recent-articles h3 {
  font-size: clamp(18px, 2.1vw, 30px) !important;
}

body[data-route="contact"] .contact-choice h2 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-weight: 400 !important;
  font-size: clamp(30px, 3.05vw, 45px) !important;
}

body[data-route="contact"] .contact-choice > p {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-weight: 400 !important;
  font-size: clamp(16px, 1.5vw, 19px) !important;
}

body[data-route="contact"] .contact-choice .chip {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-transform: capitalize !important;
}

@media (max-width: 767px) {
  body[data-route="contact"] .contact-choice .chip {
    font-size: 12px !important;
    padding: 12px 4px;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow-wrap: anywhere;
  }
  body[data-route="contact"] .contact-choice .chip::before {
    top: 10px;
    left: 12px;
    width: 5px;
    height: 5px;
  }
  body[data-route="contact"] .contact-choice .chip::after {
    top: 6px;
    right: 7px;
    width: 10px;
    height: 10px;
    font-size: 8px;
  }
  body[data-route="contact"] .contact-choice .chip.selected::after {
    transform: none;
  }
  body[data-route="contact"] .contact-choice .chip:has(input[value="Something else"]) > span,
  body[data-route="contact"] .contact-choice .chip:has(input[value="Enterprise risk"]) > span {
    max-width: 7em;
  }
}

.insight-detail-sheet .case-study-content h1,
.insight-detail-sheet .case-study-section h2 {
  color: #0a315d !important;
  -webkit-text-fill-color: #0a315d !important;
  font-size: clamp(30px, 3.05vw, 45px) !important;
  font-weight: 400 !important;
}

.insight-detail-sheet .case-study-content p,
.insight-detail-sheet .case-study-content li,
.insight-detail-sheet .case-study-content strong,
.insight-detail-sheet .case-study-content .eyebrow {
  color: #0a315d !important;
  -webkit-text-fill-color: #0a315d !important;
  font-size: clamp(16px, 1.5vw, 19px) !important;
  font-weight: 400 !important;
}

body[data-route^="insights/"] .case-study-main.case-study-main,
body[data-route^="insights/"] .case-study-main.case-study-main * {
  font-weight: 400 !important;
  font-synthesis: none !important;
}

body .insight-detail-sheet .case-study-content p,
body .insight-detail-sheet .case-study-content .case-study-section h2,
body .insight-detail-sheet .case-study-content li,
body .insight-detail-sheet .case-study-content li * {
  font-family: "Montserrat", "Jost", "Century Gothic", system-ui, sans-serif !important;
  font-size: clamp(16px, 1.5vw, 19px) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.62 !important;
  color: #0a315d !important;
  -webkit-text-fill-color: #0a315d !important;
}

body[data-route="articles"] #articles-page-title {
  color: #0a315d !important;
  -webkit-text-fill-color: #0a315d !important;
  font-weight: 400 !important;
  font-size: clamp(30px, 3.05vw, 45px) !important;
}

body[data-route="articles"] .article-read-link {
  min-height: 82px !important;
  padding: 13px 16px 13px 22px !important;
  overflow: hidden !important;
  border: 1px solid rgba(200,171,88,.92) !important;
  border-radius: 23px !important;
  color: #f8fbff !important;
  background: linear-gradient(135deg, rgba(18,64,108,.96), rgba(6,25,52,.98)) !important;
  box-shadow: 0 15px 30px rgba(0,14,31,.28), inset 2px 2px 2px rgba(255,255,255,.24), inset -3px -3px 8px rgba(0,19,42,.28) !important;
  -webkit-backdrop-filter: blur(14px) saturate(126%) !important;
  backdrop-filter: blur(14px) saturate(126%) !important;
  font-weight: 400 !important;
}

body[data-route="articles"] .article-read-link::before {
  content: "" !important;
  position: absolute !important;
  inset: 1px 1px auto 1px !important;
  height: 50% !important;
  border-radius: 15px 15px 40% 40% !important;
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.025) 72%, transparent) !important;
  pointer-events: none !important;
}

body[data-route="articles"] .article-read-link span {
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.12 !important;
}

body[data-route="articles"] .article-read-link small {
  color: rgb(200,171,88) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .15em !important;
}

body[data-route="articles"] .article-read-link i {
  width: 48px !important;
  height: 48px !important;
  border: 1px solid rgb(200,171,88) !important;
  background: transparent !important;
  color: #fff !important;
  box-shadow: inset 1px 1px 1px rgba(255,255,255,.22), inset -2px -3px 6px rgba(0,11,27,.2), 0 7px 14px rgba(0,13,31,.18) !important;
}

body[data-route="articles"] .article-read-link:hover,
body[data-route="articles"] .article-read-link:focus-visible {
  border-color: rgb(200,171,88) !important;
  background: linear-gradient(135deg, rgba(25,78,129,.98), rgba(7,31,65,.98)) !important;
  box-shadow: 0 18px 34px rgba(0,14,31,.3), 0 0 0 3px rgba(200,171,88,.11), inset 2px 2px 2px rgba(255,255,255,.28), inset -3px -3px 8px rgba(0,19,42,.24) !important;
  transform: translateY(-3px) !important;
}

body[data-route="articles"] .article-read-link:hover i,
body[data-route="articles"] .article-read-link:focus-visible i {
  background: rgba(200,171,88,.14) !important;
}

body[data-route="articles"] .article-read-link {
  position: relative !important;
  min-height: 56px !important;
  min-width: 0 !important;
  padding: 9px 11px 9px 18px !important;
  gap: 14px !important;
  border-radius: 16px !important;
  border-color: rgba(200,171,88,.55) !important;
  box-shadow: 0 6px 14px rgba(0,14,31,.15), inset 0 1px 1px rgba(255,255,255,.15) !important;
  white-space: normal !important;
  max-width: 100% !important;
  transition: transform .3s ease, background .3s ease, box-shadow .3s ease !important;
}

body[data-route="articles"] .article-read-link::before {
  display: block !important;
  opacity: .45 !important;
}

body[data-route="articles"] .article-read-link span {
  font-size: 16px !important;
  font-weight: 400 !important;
}

body[data-route="articles"] .article-read-link:hover,
body[data-route="articles"] .article-read-link:focus-visible {
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 18px rgba(0,14,31,.2), 0 0 0 2px rgba(200,171,88,.1) !important;
}

body[data-route="articles"] .article-read-link i {
  width: 34px !important;
  height: 34px !important;
  flex: 0 0 34px !important;
  border-color: rgba(200,171,88,.65) !important;
  box-shadow: none !important;
  border-radius: 50% !important;
  font-size: 19px !important;
  transform: none !important;
}

body[data-route="articles"] .article-meta,
body[data-route="articles"] .article-meta span {
  color: rgb(200, 171, 88) !important;
  -webkit-text-fill-color: rgb(200, 171, 88) !important;
  font-size: 13px !important;
}

body[data-route="articles"] .article-feature::before {
  background: rgb(200, 171, 88) !important;
}

body[data-route="articles"] .article-feature .article-status-dot {
  display: inline-block !important;
  background: #35d878 !important;
  box-shadow: 0 0 0 6px rgba(53,216,120,.15), 0 0 18px rgba(53,216,120,.65) !important;
  animation: article-green-pulse 2.2s ease-in-out infinite !important;
}

@keyframes article-green-pulse {
  0%, 100% { opacity: .7; transform: scale(.9); }
  50% { opacity: 1; transform: scale(1.12); }
}

body[data-route="articles"] .article-feature h3 {
  color: #0a315d !important;
  -webkit-text-fill-color: #0a315d !important;
  font-weight: 400 !important;
  font-size: clamp(18px, 2.1vw, 30px) !important;
}

body[data-route="articles"] .article-feature p {
  color: #0a315d !important;
  -webkit-text-fill-color: #0a315d !important;
  font-weight: 400 !important;
  font-size: clamp(16px, 1.5vw, 19px) !important;
}

@media (prefers-reduced-motion: reduce) {
  body[data-route="articles"] .article-feature .article-status-dot {
    animation: none !important;
  }
}

body[data-route="contact"] .contact-section .contact-form label,
body[data-route="contact"] .contact-section .contact-form label > span,
body[data-route="contact"] .contact-section .contact-form .optional-label {
  font-weight: 400 !important;
}
/* Keep mobile case-study arrows in a separate right-hand column. */
@media (max-width: 760px) {
  body[data-route="insights"] .insights-glass-tile:not(.insights-recent-articles) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 52px !important;
    grid-template-rows: auto auto !important;
    column-gap: 16px !important;
    row-gap: 16px !important;
    align-content: center !important;
    padding: 24px !important;
    height: auto !important;
    min-height: 180px !important;
  }
  body[data-route="insights"] .insights-glass-tile:not(.insights-recent-articles) > span {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
  }
  body[data-route="insights"] .insights-glass-tile:not(.insights-recent-articles) > h3 {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow-wrap: anywhere !important;
  }
  body[data-route="insights"] .insights-glass-tile:not(.insights-recent-articles) > i {
    position: static !important;
    inset: auto !important;
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
    align-self: center !important;
    justify-self: end !important;
    width: 52px !important;
    height: 52px !important;
    margin: 0 !important;
  }
}
/* Align article metadata beside its status dot on narrow screens. */
@media (max-width: 760px) {
  body[data-route="articles"] .article-feature {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 28px 24px !important;
    gap: 22px !important;
  }
  body[data-route="articles"] .article-feature .article-status-dot {
    position: absolute !important;
    top: 31px !important;
    left: 24px !important;
    width: 12px !important;
    height: 12px !important;
    margin: 0 !important;
  }
  body[data-route="articles"] .article-feature .article-meta {
    padding-left: 26px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    margin-bottom: 16px !important;
  }
  body[data-route="articles"] .article-feature .article-meta,
  body[data-route="articles"] .article-feature .article-meta span {
    font-size: 11px !important;
    line-height: 1.5 !important;
    letter-spacing: .04em !important;
    overflow-wrap: anywhere !important;
  }
  body[data-route="articles"] .article-feature-main,
  body[data-route="articles"] .article-read-link {
    grid-column: 1 !important;
  }
}
@media (max-width: 760px) {
  body[data-route] .image-hero .image-hero-content {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  body[data-route] .image-hero .display {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: 28px !important;
    line-height: 1.15 !important;
  }
  body[data-route] .image-hero .display .about-rotator {
    display: grid !important;
    height: auto !important;
    min-height: 1.2em !important;
    overflow: hidden !important;
  }
  body[data-route] .image-hero .display .about-phrase {
    position: static !important;
    display: block !important;
    grid-area: 1 / 1 !important;
    white-space: normal !important;
    min-width: 0 !important;
  }
  body[data-route] .image-hero .about-word {
    display: inline-block;
    white-space: nowrap;
  }
}
@media (max-width: 360px) {
  body[data-route] .image-hero .display { font-size: 24px !important; }
}
@media (max-width: 760px) and (prefers-reduced-motion: no-preference) {
  body[data-route] .image-hero .about-letter {
    opacity: 0;
    animation: about-letter-roll 8s cubic-bezier(.2,.72,.25,1) calc(var(--phrase-delay) + var(--letter) * 52ms) infinite !important;
  }
}
@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  body[data-route] .image-hero .about-phrase:not(:first-child) { display: none !important; }
}
.image-hero .about-phrase { column-gap: .25em; }
@media (max-width: 760px) {
  body[data-route="people"] .person-card::after {
    display: none !important;
  }
  body[data-route="people"] .person-info::before {
    width: 42px !important;
    height: 3px !important;
    flex: 0 0 3px !important;
  }
  body[data-route="people"] .person-card:has(.crop-ewa) .person-info p {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }
}
/* One gentle opacity transition for mobile and desktop navigation. */
html body #app {
  opacity: 1 !important;
  transform: none !important;
  transition: opacity .32s ease-out !important;
}
html.is-route-changing body #app,
html body.is-route-changing #app {
  opacity: 0 !important;
  transform: none !important;
  transition: opacity .16s ease-in !important;
}
html::after,
html body.is-route-changing::after,
html body.is-loading::after {
  display: none !important;
}
html body #app .page-enter {
  animation: soft-page-arrival .4s ease-out both !important;
  transform: none !important;
}
html body #app .reveal {
  transform: none !important;
  transition: opacity .45s ease-out !important;
}
@keyframes soft-page-arrival {
  from { opacity: 0; }
  to { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  html body #app,
  html.is-route-changing body #app,
  html body.is-route-changing #app {
    opacity: 1 !important;
    transition: none !important;
  }
  html body #app .page-enter,
  html body #app .reveal {
    animation: none !important;
    transition: none !important;
  }
}
@media (max-width: 760px) {
  body[data-route="home"] .link-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }
  body[data-route="home"] .page-link {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
    grid-template-rows: auto auto !important;
    gap: 14px 16px !important;
    align-content: center !important;
    min-height: 148px !important;
    height: auto !important;
    padding: 22px !important;
    border-radius: 22px !important;
  }
  body[data-route="home"] .page-link::before {
    display: none !important;
  }
  body[data-route="home"] .page-link small {
    grid-area: 1 / 1 !important;
    font-size: 11px !important;
    min-width: 0 !important;
  }
  body[data-route="home"] .page-link h3 {
    grid-area: 2 / 1 !important;
    margin: 0 !important;
    min-width: 0 !important;
    font-size: 24px !important;
    line-height: 1.18 !important;
    overflow-wrap: anywhere !important;
  }
  body[data-route="home"] .page-link b {
    position: static !important;
    inset: auto !important;
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
    align-self: center !important;
    justify-self: end !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
  }
}
/* Keep route content visible throughout navigation; no page-wide fades. */
html body #app,
html.is-route-changing body #app,
html body.is-route-changing #app {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}
html body #app .page-enter,
html body #app .reveal,
html body #app .reveal.show {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}
html::after,
html body::after,
html body .route-loader {
  display: none !important;
  opacity: 0 !important;
  animation: none !important;
  transition: none !important;
}
/* Browser snapshots overlap so navigation never fades through a blank page. */
@supports (view-transition-name: none) {
  :root { view-transition-name: none; }
  #app { view-transition-name: site-content; }
  ::view-transition-group(site-content) { animation: none; }
  ::view-transition-old(site-content),
  ::view-transition-new(site-content) {
    height: 100%;
    object-fit: none;
    object-position: top left;
    mix-blend-mode: normal;
  }
  ::view-transition-old(site-content) { animation: none; }
  ::view-transition-new(site-content) {
    animation: site-content-arrive 320ms cubic-bezier(.2,.65,.3,1) both;
  }
  @keyframes site-content-arrive {
    from { opacity: 0; }
    to { opacity: 1; }
  }
  @media (max-width: 760px) {
    ::view-transition-new(site-content) { animation-duration: 260ms; }
  }
  @media (prefers-reduced-motion: reduce) {
    ::view-transition-old(site-content),
    ::view-transition-new(site-content) { animation: none; }
  }
}
@media (max-width: 760px) {
  body[data-route="people"] .person-card:has(.crop-ewa) .person-info p {
    display: flex !important;
    flex-wrap: wrap !important;
    column-gap: .3em !important;
  }
  body[data-route="people"] .person-card:has(.crop-ewa) .person-info p br {
    display: none !important;
  }
}
@media (max-width: 760px) {
  body[data-route="services"] .service-case-glass {
    height: auto !important;
    min-height: 0 !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
}
body[data-route="people"] .person-card:has(.crop-ewa) .person-info p {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
@media (max-width: 760px) {
  body[data-route="people"] .person-card:has(.crop-ewa) .person-info p {
    display: block !important;
  }
}
body[data-route="people"] .people-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}
body[data-route="people"] .people-grid .person-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: auto !important;
}
body[data-route="people"] .people-grid .person-card::after { display: none !important; }
body[data-route="people"] .people-grid .profile-photo {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 !important;
  flex: 0 0 auto !important;
  border-radius: 16px 16px 0 0 !important;
  transform: none !important;
}
body[data-route="people"] .people-grid .person-info {
  width: 100% !important;
  min-height: 140px !important;
  flex: 1 0 auto !important;
  padding: 18px 22px !important;
  justify-content: center !important;
}
body[data-route="people"] .people-grid .person-info::before { margin-bottom: 12px !important; }
body[data-route="people"] .people-grid .person-info p br { display: none !important; }
body[data-route="people"] .people-grid .enterprise-logo,
body[data-route="people"] .people-grid .enterprise-logo img {
  background: #062850 !important;
}
body[data-route="people"] .people-grid .enterprise-logo img {
  width: 100% !important;
  height: 100% !important;
  inset: 0 !important;
  object-fit: contain !important;
  transform: none !important;
}
@media (max-width: 760px) {
  body[data-route="people"] .people-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: 440px !important;
    margin-inline: auto !important;
  }
}
body[data-route="insights"] #insights-band-title {
  text-transform: none !important;
}
body[data-route="home"] .home-image-hero .display,
body[data-route="home"] .home-image-hero .display * {
  text-transform: none !important;
}
/* Reserve a compact error line; only narrow email fields need a second line. */
body[data-route="contact"] .contact-form > label {
  min-width: 0;
}
body[data-route="contact"] .contact-form .field {
  min-width: 0;
  max-width: 100%;
}
body[data-route="contact"] .contact-form label .field-error {
  position: static !important;
  inset: auto !important;
  display: block !important;
  visibility: visible !important;
  width: auto !important;
  height: auto !important;
  min-height: 1.4em !important;
  margin: 0 !important;
  color: #ffb4b4 !important;
  -webkit-text-fill-color: #ffb4b4 !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-shadow: none !important;
}
body[data-route="contact"] .contact-form label .field-error:empty {
  display: block !important;
  visibility: hidden !important;
}
@media (max-width: 360px) {
  body[data-route="contact"] .contact-form label:has(input[name="email"]) .field-error {
    min-height: 2.8em !important;
  }
}

/* Layered important rules take precedence over decorative animation overrides. */
@layer accessibility {
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
      animation: none !important;
      transition: none !important;
      scroll-behavior: auto !important;
    }
    .reveal, .expert-roll-letter, .about-letter, .expert-signals article {
      opacity: 1 !important;
      transform: none !important;
      filter: none !important;
    }
    .about-phrase:not(:first-child) { display: none !important; }
    .about-phrase:first-child { opacity: 1 !important; }
    [data-tilt] { transform: none !important; }
  }
}
