/* Evolution Worldwide — local review copy, no external assets or dependencies. */
:root {
  --ink: #142746;
  --navy: #0d2248;
  --blue: #0054ff;
  --blue-light: #b8ccff;
  --muted: #60656e;
  --line: #dadee5;
  --paper: #ffffff;
  --soft: #f3f5f8;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 2rem; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 1rem/1.65 var(--sans); -webkit-font-smoothing: antialiased; }
::selection { background: #b8ccff; color: #0d2248; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid #0054ff; outline-offset: 6px; }
[hidden] { display: none !important; }
svg { display: block; max-width: 100%; }
figure, p, h1, h2, h3 { margin: 0; }
h1, h2, h3 { font-weight: 400; }
.container { width: min(100% - 7rem, 1336px); margin-inline: auto; }
.skip-link { position: absolute; z-index: 10; top: -100px; left: 1rem; padding: .75rem 1.2rem; color: white; background: var(--blue); }
.skip-link:focus { top: 1rem; }
.site-header { background: white; }
.header-inner { min-height: 104px; display: flex; align-items: center; gap: 2.25rem; justify-content: space-between; }
.wordmark { display: inline-block; flex: 0 0 auto; width: 164px; max-width: 100%; line-height: 0; }
.wordmark img { display: block; width: 100%; height: auto; }
.header-inner nav { display: flex; gap: 2.2rem; margin-left: auto; }
.header-inner nav a, .header-contact { font-size: .875rem; font-weight: 500; }
.header-inner nav a { padding-block: .8rem; border-bottom: 1px solid transparent; }
.header-inner nav a:hover { border-bottom-color: var(--ink); }
.header-contact { display: flex; gap: 1.8rem; align-items: center; padding: .65rem 1rem; border: 1px solid #ced5e0; }
.header-contact:hover { background: var(--soft); }
.header-contact span { font-size: 1.3rem; }
.hero { overflow: hidden; color: white; background: var(--navy); }
.hero-grid { display: grid; grid-template-columns: 1.15fr 1fr; min-height: 677px; gap: 1.5rem; align-items: center; padding-block: 5.3rem 4rem; }
.eyebrow { font-size: .75rem; letter-spacing: .12em; font-weight: 600; line-height: 1.6; color: #5c6676; }
.eyebrow.light { color: #c0cbdc; }
.hero .eyebrow { margin-bottom: 2.1rem; }
h1 { font-family: var(--serif); font-size: clamp(3.15rem, 4.55vw, 4.65rem); letter-spacing: -.055em; line-height: 1.1; }
h1 em { color: var(--blue-light); font-weight: 400; }
.hero-intro { max-width: 32rem; margin-top: 1.8rem; font-size: 1.125rem; line-height: 1.8; color: #cbd3e0; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.4rem 1.8rem; margin-top: 2.4rem; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.7rem; min-height: 54px; padding: .8rem 1.2rem; font-size: .875rem; font-weight: 500; transition: background .2s ease, transform .2s ease; }
.button span { font-size: 1.5rem; line-height: 1; }
.button:hover { transform: translateY(-2px); }
.button-blue { color: white; background: var(--blue); }
.button-blue:hover { background: #0044d1; }
.text-link { display: inline-flex; align-items: center; gap: 1.4rem; font-size: .875rem; font-weight: 500; padding-block: .65rem; border-bottom: 1px solid #9faabc; }
.text-link:hover { border-bottom-color: var(--blue); color: var(--blue); }
.light-link { border-bottom-color: #657799; color: #eff3fa; }
.light-link:hover { color: var(--blue-light); border-bottom-color: var(--blue-light); }
.investment-graphic { min-width: 0; }
.orbit-stage { position: relative; width: 100%; aspect-ratio: 1; }
.orbit-svg { width: 100%; height: 100%; }
.outer-guide { fill: none; stroke: #56719a; stroke-opacity: .34; stroke-dasharray: 2 7; }
.axis { fill: none; stroke: #5d7daa; stroke-opacity: .15; stroke-width: 1; }
.orbit-center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; font-family: var(--serif); font-size: clamp(1rem, 1.55vw, 1.55rem); line-height: 1.2; }
.orbit-center em { color: var(--blue-light); }
.orbit-label { position: absolute; background: var(--navy); border: 1px solid #415f88; padding: .5rem .75rem; font-size: .875rem; white-space: nowrap; line-height: 1.5; color: #e1e9f7; }
.label-product { top: 14%; left: 4%; }
.label-customer { top: 44%; right: -2%; }
.label-business { bottom: 14%; left: 3%; }
.investment-graphic figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem; padding: 1rem .7rem 0; font-size: .75rem; letter-spacing: .08em; color: #b7c3d8; }
.motion-toggle { display: inline-flex; align-items: center; gap: .5rem; background: transparent; color: #d5dfee; border: 0; padding: .65rem .2rem; cursor: pointer; font-size: .875rem; letter-spacing: 0; }
.motion-toggle:hover { color: white; }
.motion-toggle:disabled { cursor: default; color: #b7c3d8; }
.motion-icon { width: 1rem; font-size: 1rem; text-align: center; }
.moving-signal { offset-anchor: 0 0; animation: orbit 22s linear infinite; animation-play-state: paused; }
.signal-one { offset-path: path('M477.45 166 A228 103 -30 1 1 82.55 394 A228 103 -30 1 1 477.45 166'); offset-distance: 13%; animation-delay: -3s; }
.signal-two { offset-path: path('M477.45 394 A228 103 30 1 1 82.55 166 A228 103 30 1 1 477.45 394'); offset-distance: 57%; animation-duration: 29s; animation-delay: -17s; }
.signal-three { offset-path: path('M280 508 A103 228 0 1 1 280 52 A103 228 0 1 1 280 508'); offset-distance: 78%; animation-duration: 25s; animation-delay: -20s; }
html[data-motion="running"] .moving-signal { animation-play-state: running; }
@keyframes orbit { from { offset-distance: 0%; } to { offset-distance: 100%; } }
.hero-bottom { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid #3c5376; padding-block: 1.4rem; color: #bdcbe0; font-size: .75rem; letter-spacing: .065em; }
.hero-bottom > span:nth-child(2) { font-size: .875rem; letter-spacing: 0; }
.hero-bottom a { display: flex; align-items: center; gap: 1.5rem; padding-block: .4rem; }
.hero-bottom a:hover { color: white; }
.section { padding-block: 7rem; }
.section-heading { display: grid; grid-template-columns: 1.2fr 1fr; gap: 4rem; align-items: end; margin-bottom: 3.5rem; }
.section-heading .eyebrow, .focus-intro .eyebrow { margin-bottom: 1.7rem; }
h2 { font-family: var(--serif); font-size: clamp(2.4rem, 3.45vw, 3.5rem); line-height: 1.16; letter-spacing: -.04em; }
h2 em { font-weight: 400; color: #536b93; }
.section-heading > p { max-width: 28rem; justify-self: end; color: var(--muted); font-size: 1.0625rem; line-height: 1.8; padding-bottom: .35rem; }
.portfolio-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.portfolio-card { display: flex; flex-direction: column; min-height: 386px; padding: 2rem 2.2rem 0; }
.ai-card, .sourcing-card { background: #eaf0ff; }
.human-card { background: #f0f2f5; }
.card-top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.tag { border: 1px solid #afbedb; padding: .35rem .6rem; font-size: .75rem; font-weight: 500; letter-spacing: .07em; }
.card-number { font-size: .75rem; color: #5c6676; }
.portfolio-identity { display: flex; align-items: center; min-height: 96px; margin-block: 2rem 1.5rem; }
.portfolio-identity img { display: block; width: min(100%, 320px); height: auto; max-height: 96px; object-fit: contain; object-position: left center; }
.portfolio-card > p { color: #526078; max-width: 26rem; margin-bottom: 2rem; line-height: 1.8; }
.portfolio-link { display: flex; justify-content: space-between; align-items: center; gap: .8rem; margin-top: auto; border-top: 1px solid #c0cde5; padding-block: 1.25rem; font-size: .875rem; font-weight: 500; }
.portfolio-link span { font-size: 1.65rem; transition: transform .2s ease; }
.portfolio-link:hover { color: var(--blue); }
.portfolio-link:hover span { transform: translate(3px, -3px); }
.portfolio-note { color: var(--muted); margin-top: 1.25rem; font-size: .8125rem; }
.focus { background: var(--soft); }
.focus-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 5.5rem; }
.focus-intro > p:not(.eyebrow) { max-width: 27rem; margin-top: 1.6rem; color: var(--muted); }
.focus-intro .text-link { margin-top: 1.7rem; }
.focus-list { padding-top: 1rem; }
.focus-list article { display: flex; gap: 1.6rem; padding-block: 1.7rem; border-top: 1px solid #ced5e0; }
.focus-list article:last-child { padding-bottom: 0; }
.focus-index { flex-shrink: 0; padding-top: .3rem; font-size: .75rem; color: #6b7c98; }
.focus-list h3 { font-size: 1.25rem; font-weight: 500; letter-spacing: -.025em; }
.focus-list p { margin-top: .6rem; color: var(--muted); }
.approach { padding-bottom: 7.5rem; }
.principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem; }
.principles article { border-top: 1px solid #ced7e3; padding-top: 1.5rem; }
.principle-marker { display: block; color: var(--blue); font-size: 2rem; line-height: 1.4; margin-bottom: 1.2rem; }
.principles h3 { font-size: 1.15rem; letter-spacing: -.025em; font-weight: 500; }
.principles p { color: var(--muted); margin-top: .8rem; }
.contact-section { background: #16325d; color: white; padding-block: 6.5rem; }
.contact-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 5.5rem; }
.contact-copy .eyebrow { margin-bottom: 1.7rem; }
.contact-copy h2 { font-size: clamp(3rem, 4.3vw, 4.4rem); }
.contact-copy h2 em { color: var(--blue-light); }
.contact-copy > p:not(.eyebrow) { margin-block: 1.7rem; max-width: 25rem; color: #ccd7e9; }
.button-pale { background: #cbd9ff; color: #0d2248; }
.button-pale:hover { background: #e3ebff; }
.venture-address { display: block; width: fit-content; margin-top: 1rem; color: #ccd7e9; font-size: .875rem; overflow-wrap: anywhere; }
.venture-address:hover { text-decoration: underline; text-underline-offset: .2em; }
.contact-process { padding-top: 1rem; }
.contact-process ol { padding: 0; margin: 0; list-style: none; }
.contact-process li { display: flex; gap: 1.5rem; border-top: 1px solid #4b668e; padding-block: 1.4rem; }
.contact-process li > span { flex-shrink: 0; font-size: .75rem; padding-top: .3rem; color: #b8ccff; }
.contact-process h3 { font-size: 1.15rem; font-weight: 500; }
.contact-process li p { margin-top: .4rem; color: #ccd7e9; }
.contact-notice { margin-top: .8rem; font-size: .875rem; color: #c0cde2; }
.contact-notice a { color: #e2eaff; text-decoration: underline; text-underline-offset: .2em; }
.site-footer { padding-block: 3.5rem 2rem; }
.footer-top { display: flex; justify-content: space-between; gap: 3rem; padding-bottom: 2.5rem; }
.footer-top > div:first-child > p { margin-top: 1.5rem; color: var(--muted); font-size: .875rem; }
.footer-contacts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 2.5rem; }
.footer-contacts > div { display: flex; flex-direction: column; gap: .3rem; font-size: .875rem; }
.footer-contacts span { color: var(--muted); font-size: .8125rem; }
.footer-contacts a { overflow-wrap: anywhere; }
.footer-contacts a:hover, .footer-bottom a:hover { text-decoration: underline; text-underline-offset: .25em; }
.footer-bottom { border-top: 1px solid var(--line); padding-top: 1.5rem; display: flex; align-items: start; justify-content: space-between; gap: 2rem; font-size: .8125rem; }
.footer-bottom p > span { color: var(--muted); }
.footer-bottom nav { display: flex; flex-wrap: wrap; gap: 1.7rem; font-size: .875rem; }
.footer-legal { margin-top: 1.6rem; color: var(--muted); font-size: .75rem; line-height: 1.7; max-width: 70rem; }
.document-page { background: var(--soft); }
.document-header { border-bottom: 1px solid var(--line); }
.document-main { width: min(100% - 3rem, 850px); margin-inline: auto; padding-block: 4.5rem 5rem; }
.document-main h1 { color: var(--ink); font-size: clamp(2.5rem, 6vw, 4rem); margin-block: 1.1rem 1.5rem; }
.document-lead { font-size: 1.125rem; color: var(--muted); margin-bottom: 2rem; }
.review-note { padding: 1.4rem 1.5rem; background: #eaf0ff; border-left: 3px solid var(--blue); margin-bottom: 2.5rem; }
.review-note p { margin-top: .5rem; }
.review-note ul { margin-bottom: .25rem; }
.document-main section { margin-top: 2.5rem; }
.document-main section h2 { font-family: var(--sans); font-size: 1.375rem; letter-spacing: -.02em; font-weight: 500; margin-bottom: .8rem; }
.document-main section p + p { margin-top: 1rem; }
.document-main ul { padding-left: 1.4rem; }
.document-main li { padding-left: .3rem; margin-block: .5rem; }
.document-main a { color: #0044d1; text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
.document-page .site-footer { background: white; }
.document-date { font-size: .875rem; color: var(--muted); margin-bottom: 1.5rem; }
@media (min-width: 1550px) { .hero-grid { min-height: 740px; } }
@media (max-width: 1100px) {
  .container { width: calc(100% - 4rem); }
  .header-inner nav { gap: 1.25rem; }
  .header-inner { gap: 1.4rem; }
  .hero-grid { grid-template-columns: 1.13fr 1fr; gap: 1rem; min-height: 620px; padding-block: 4rem 3rem; }
  h1 { font-size: clamp(2.8rem, 4.85vw, 3.7rem); }
  .hero-intro { font-size: 1rem; }
  .hero-actions { gap: .8rem 1.5rem; }
  .orbit-label { font-size: .8125rem; padding: .4rem .6rem; }
  .orbit-center { font-size: 1.1rem; }
  .investment-graphic figcaption { letter-spacing: .03em; padding-inline: 0; }
  .section { padding-block: 5.5rem; }
  .focus-grid, .contact-grid { gap: 3rem; }
  .portfolio-grid { grid-template-columns: 1fr; }
  .portfolio-card { padding-inline: 1.7rem; }
  .principles { gap: 2rem; }
  .footer-contacts { grid-template-columns: 1fr; gap: 1rem; }
}
@media (max-width: 760px) {
  .container { width: calc(100% - 3rem); }
  .header-inner { min-height: 0; padding-block: 1.4rem .6rem; flex-wrap: wrap; gap: 1.2rem; }
  .wordmark { width: 148px; }
  .header-inner nav { order: 3; width: 100%; margin: 0; justify-content: space-between; gap: .7rem; border-top: 1px solid #e1e5ec; padding-top: .3rem; }
  .header-inner nav a { font-size: .875rem; }
  .header-contact { margin-left: auto; padding: .5rem .85rem; gap: 1rem; }
  .hero-grid { grid-template-columns: 1fr; gap: 1.5rem; padding-block: 3.4rem 1.7rem; }
  .hero-copy { max-width: 34rem; }
  .hero .eyebrow { font-size: .75rem; letter-spacing: .09em; margin-bottom: 1.7rem; }
  h1 { font-size: clamp(2.7rem, 7.9vw, 4rem); line-height: 1.13; }
  .hero-intro { max-width: 30rem; font-size: 1.0625rem; margin-top: 1.6rem; }
  .hero-actions { margin-top: 1.7rem; gap: 1.1rem 1.5rem; }
  .investment-graphic { width: min(100%, 490px); margin-inline: auto; }
  .orbit-center { font-size: clamp(1rem, 3vw, 1.4rem); }
  .label-customer { right: 0; }
  .investment-graphic figcaption { margin-top: -.2rem; }
  .hero-bottom { font-size: .75rem; padding-block: 1rem; }
  .hero-bottom > span:first-child { display: none; }
  .hero-bottom > span:nth-child(2) { max-width: 12rem; font-size: .8125rem; }
  .hero-bottom a { font-size: .75rem; gap: .75rem; text-align: right; }
  .section { padding-block: 4rem; }
  h2 { font-size: clamp(2.35rem, 6.6vw, 3rem); }
  .section-heading { grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 2rem; }
  .section-heading > p { justify-self: start; max-width: 32rem; font-size: 1rem; }
  .section-heading .eyebrow, .focus-intro .eyebrow { margin-bottom: 1.25rem; }
  .portfolio-grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .portfolio-card { min-height: 335px; padding: 1.6rem 1.6rem 0; }
  .portfolio-identity { margin-block: 2rem 1.25rem; }
  .portfolio-card > p { max-width: 30rem; margin-bottom: 1.5rem; }
  .portfolio-note { font-size: .8125rem; }
  .focus-grid, .contact-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .focus-intro > p:not(.eyebrow) { max-width: 31rem; }
  .focus-list { padding-top: 0; }
  .principles { grid-template-columns: 1fr; gap: 1.7rem; }
  .principles article { display: grid; grid-template-columns: 2rem 1fr; column-gap: 1.2rem; padding-top: 1.25rem; }
  .principle-marker { grid-row: span 2; font-size: 1.6rem; margin: 0; }
  .principles h3 { padding-top: .25rem; }
  .principles p { grid-column: 2; margin-top: .5rem; }
  .contact-section { padding-block: 4rem; }
  .contact-copy h2 { font-size: clamp(3rem, 9vw, 4rem); }
  .contact-process { padding-top: 0; }
  .site-footer { padding-top: 2.7rem; }
  .footer-top { flex-direction: column; gap: 2rem; }
  .footer-contacts { gap: 1.3rem; }
  .footer-bottom { flex-direction: column; gap: 1.4rem; }
  .footer-bottom nav { gap: 1.5rem; }
  .document-header .header-inner { padding-bottom: 1.4rem; }
  .document-main { padding-block: 3rem; }
}
@media (max-width: 380px) {
  .container { width: calc(100% - 2rem); }
  .wordmark { width: 136px; }
  .header-contact { gap: .5rem; padding-inline: .65rem; font-size: .8125rem; }
  .header-inner nav a { font-size: .8125rem; }
  h1 { font-size: 2.45rem; }
  .hero .eyebrow { max-width: 16rem; }
  .hero-bottom > span:nth-child(2) { max-width: 9rem; }
  .orbit-label { font-size: .75rem; padding: .35rem .5rem; }
  .investment-graphic figcaption { font-size: .75rem; }
  .portfolio-card { padding-inline: 1.2rem; }
  .contact-process li { gap: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .moving-signal { animation: none; }
  .button, .portfolio-link span { transition: none; }
  .button:hover, .portfolio-link:hover span { transform: none; }
}
@media print {
  .motion-toggle, .skip-link, .hero-bottom, .hero-actions, .header-contact, .header-inner nav { display: none !important; }
  .hero, .contact-section { background: white; color: #142746; }
  .hero-intro, .hero .eyebrow, .contact-copy > p, .contact-process p, .contact-process li > span, .contact-notice { color: #374b6b !important; }
  .investment-graphic { display: none; }
  .hero-grid, .contact-grid { display: block; }
  .container { width: 100%; }
  .section, .contact-section, .hero-grid { padding-block: 2rem; }
  .portfolio-card, .principles article, .focus-list article { break-inside: avoid; }
  .document-main { width: 100%; }
}
