:root {
  --navy: #003249;
  --ink: #111;
  --paper: #fff;
  --header-height: clamp(76px, 6.354167vw, 122px);
  --grain-opacity: .22;
  --grain-paper-opacity: .12;
  --grain-size: max(170px, calc(407 * var(--u))) max(170px, calc(407 * var(--u)));
  --u: min(0.0520833333vw, 1px);
  --body-size: clamp(16px, 1.458333vw, 28px);
  --heading-size: clamp(23px, 2.1875vw, 42px);
  --small-heading: clamp(19px, 1.770833vw, 34px);
  --sans: 'Jost', Arial, sans-serif;
  --serif: 'Libertinus Serif', Georgia, serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: calc(var(--header-height) + 20px); scrollbar-color: #003249 #e8ecee; scrollbar-width: thin; }
html::-webkit-scrollbar { width: 6px; height: 6px; }
html::-webkit-scrollbar-track { background: #e8ecee; }
html::-webkit-scrollbar-thumb { background: #003249; border-radius: 6px; }
html.mobile-menu-open { overflow: hidden; overscroll-behavior: none; }
html.mobile-menu-open body { position: fixed; top: var(--mobile-menu-scroll-top); left: 0; width: 100%; overflow: hidden; }
body { position: relative; isolation: isolate; margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: var(--body-size); line-height: 1.3; }
body::before { content: ''; position: fixed; inset: 0; background: url('../textures/grain-paper.webp?v=5') left top / var(--grain-size) repeat; opacity: var(--grain-paper-opacity); z-index: -1; pointer-events: none; }
::selection { background: #003249; color: white; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .22em; }
button, input { font: inherit; }
button, a, input { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
img, picture { display: block; }
figure, p, h1, h2, h3, ul, ol { margin: 0; }
h1, h2 { font-size: var(--heading-size); line-height: 1.16; font-weight: 600; text-transform: uppercase; }
h3 { font-size: var(--small-heading); font-weight: 500; line-height: 1.2; }
img, video { max-width: 100%; }
:focus-visible { outline: 3px solid #b07935; outline-offset: 5px; }
[hidden] { display: none !important; }
.container { width: calc(100% - clamp(40px, 10.416667vw, 200px)); max-width: 1720px; margin-inline: auto; }
.container--wide { width: calc(100% - clamp(40px, 5.104167vw, 100px)); max-width: 1920px; margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: 20px; top: -100px; z-index: 100; background: white; color: #003249; padding: 12px 20px; }
.skip-link:focus { top: 12px; }
.dark-surface { position: relative; isolation: isolate; background-color: var(--navy); color: white; }
.dark-surface::before { content: ''; position: absolute; inset: 0; z-index: -1; background: url('../textures/grain-blue.webp?v=5') left top / var(--grain-size) repeat; opacity: var(--grain-opacity); pointer-events: none; }
.section-line { display: block; height: max(1px, calc(4 * var(--u))); background: currentColor; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: calc(5 * var(--u)) 24px; width: min(100%, calc(384 * var(--u))); background: #fff; color: #1b1d1d; border: 1px solid transparent; font-family: var(--serif); font-style: italic; font-size: clamp(20px, 1.770833vw, 34px); line-height: 1.35; text-decoration: none; }
.button:hover { background: #e9eff1; border-color: currentColor; }
.site-header { position: sticky; top: 0; height: var(--header-height); z-index: 20; background-color: var(--navy); box-shadow: inset 0 -5px 9px -6px rgb(0 0 0 / .45); }
.site-header__inner { position: relative; height: 100%; display: flex; align-items: center; justify-content: space-between; }
.brand { width: clamp(100px, 10.416667vw, 200px); height: 100%; display: block; position: relative; overflow: hidden; flex-shrink: 0; }
.brand img { position: absolute; width: 100%; max-width: none; height: auto; top: calc(-73 * var(--u)); }
.main-nav { position: absolute; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: clamp(30px, 5.729167vw, 110px); }
.nav-link, .events-trigger { min-height: 44px; display: inline-flex; align-items: center; color: white; font-size: clamp(14px, .9375vw, 18px); font-weight: 600; text-transform: uppercase; text-decoration: none; border: 0; padding: 0; background: none; white-space: nowrap; }
.nav-link, .events-trigger { position: relative; }
.nav-link::after, .events-trigger::after { content: ''; position: absolute; left: 0; right: 0; bottom: 5px; height: 2px; background: currentColor; opacity: 0; pointer-events: none; }
.nav-link:hover::after, .nav-link:focus-visible::after, .nav-link[aria-current='page']::after, .nav-link[aria-current='location']::after, .events-trigger[aria-expanded='true']::after { opacity: 1; }
.header-inquiry { display: inline-flex; align-items: center; justify-content: center; background: white; color: #111; min-height: 44px; width: clamp(110px, 9.166667vw, 176px); padding: 8px 12px; border-radius: 5px; text-decoration: none; text-transform: uppercase; font-weight: 600; font-size: clamp(14px, 1.145833vw, 22px); }
.header-inquiry:hover { background: #e9eff1; }
.events-menu { position: relative; }
.events-panel { position: absolute; top: calc(100% + 12px); left: -40px; padding: 32px 40px; width: 387px; box-shadow: 0 12px 28px #001b2940; font-size: 16px; }
.events-panel::after { content: ''; position: absolute; left: 0; right: 0; bottom: 100%; height: 12px; }
.events-panel ul { list-style: none; padding: 0; }
.events-panel li a { display: flex; align-items: center; min-height: 46px; text-transform: uppercase; font-size: 16px; font-weight: 600; text-decoration: none; }
.events-panel li a span { border-bottom: 1px solid white; padding-bottom: 5px; }
.events-panel a:hover, .events-panel a[aria-current='page'] { color: #d9e6eb; }
.menu-toggle { display: none; background: none; border: 1px solid #ffffff80; color: white; padding: 9px; min-height: 44px; min-width: 44px; }
.menu-toggle__bars { position: relative; display: block; width: 22px; height: 18px; }
.menu-toggle__bars span { position: absolute; left: 0; top: 8px; background: currentColor; height: 2px; width: 100%; border-radius: 1px; transform-origin: center; }
.menu-toggle__bars span:first-child { transform: translateY(-8px); }
.menu-toggle__bars span:nth-child(2) { transform: none; }
.menu-toggle__bars span:nth-child(3) { transform: translateY(8px); }
.menu-toggle[aria-expanded='true'] .menu-toggle__bars span:first-child { transform: rotate(45deg); }
.menu-toggle[aria-expanded='true'] .menu-toggle__bars span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded='true'] .menu-toggle__bars span:nth-child(3) { transform: rotate(-45deg); }
.home .site-header { --header-surface-progress: 0; box-shadow: none; position: absolute; width: 100%; top: 0; background: transparent; }
.home .site-header::before { box-shadow: inset 0 -5px 9px -6px rgb(0 0 0 / .45); background-color: var(--navy); background-image: linear-gradient(rgb(0 50 73 / calc(1 - var(--grain-opacity))), rgb(0 50 73 / calc(1 - var(--grain-opacity)))), url('../textures/grain-blue.webp?v=5'); background-size: auto, var(--grain-size); opacity: var(--header-surface-progress); }
.home .site-header::after { content: ''; position: absolute; inset: -50px 0 -90px; background: linear-gradient(#000d, #0000); opacity: calc(1 - var(--header-surface-progress)); z-index: -1; pointer-events: none; }
.home .site-header.is-scrolled { --header-surface-progress: 1; position: fixed; }
.hero { position: relative; aspect-ratio: 1920 / 946; overflow: hidden; background: #041f2b; }
.hero__poster, .hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero__video { opacity: 0; }
.hero.is-playing .hero__video { opacity: 1; }
.home-intro { min-height: calc(448 * var(--u)); padding: calc(105 * var(--u)) 20px calc(115 * var(--u)); text-align: center; }
.home-intro p { font-family: var(--serif); font-size: clamp(20px, 1.770833vw, 34px); max-width: 1432px; margin: auto; }
.home-intro__row { display: block; }
.home-intro strong { font-weight: 600; }
.home-intro .button { margin-top: calc(70 * var(--u)); }
.client-logos { background: white; padding: calc(37 * var(--u)) 0; }
.client-logos__viewport { overflow-x: auto; }
.client-logos__list { display: flex; width: max-content; align-items: center; gap: 32px; list-style: none; padding: 0 16px; }
.client-logos__list li { display: flex; align-items: center; justify-content: center; width: clamp(110px, 10vw, 185px); flex: 0 0 auto; }
.client-logos img { width: auto; max-height: calc(110 * var(--u)); max-width: 100%; margin: auto; object-fit: contain; }
.benefits { padding-top: calc(170 * var(--u)); }
.benefits__intro > .section-line { width: 71%; margin: calc(46 * var(--u)) 0 calc(22 * var(--u)) auto; }
.benefits__intro p { max-width: 1432px; font-weight: 300; font-size: clamp(16px, 1.5625vw, 30px); }
.benefits__grid { display: grid; grid-template-columns: 1fr 1fr; gap: calc(74 * var(--u)) calc(186 * var(--u)); margin-top: calc(134 * var(--u)); padding-bottom: calc(308 * var(--u)); }
.benefit { --benefit-icon-size: clamp(72px, calc(154 * var(--u)), 154px); position: relative; display: grid; grid-template-columns: minmax(0, 1fr) var(--benefit-icon-size); grid-template-rows: auto max(1px, calc(4 * var(--u))) auto; column-gap: clamp(16px, calc(24 * var(--u)), 24px); row-gap: clamp(12px, calc(22 * var(--u)), 22px); padding-top: calc(50 * var(--u)); align-content: start; }
.benefit:nth-child(even) { grid-template-columns: var(--benefit-icon-size) minmax(0, 1fr); padding-top: 0; padding-bottom: calc(50 * var(--u)); text-align: right; transform: translateY(calc(-63 * var(--u))); }
.benefit h2 { grid-column: 1; grid-row: 1; font-size: var(--small-heading); text-transform: none; font-weight: 500; margin: 0; }
.benefit .section-line { grid-column: 1 / -1; grid-row: 2; width: calc(100% - var(--benefit-icon-size)); justify-self: start; margin: 0; }
.benefit:nth-child(even) .section-line { justify-self: end; }
.benefit p { grid-column: 1; grid-row: 3; font-weight: 300; }
.benefit:nth-child(even) h2, .benefit:nth-child(even) p { grid-column: 2; }
.benefit__icon { grid-column: 2; grid-row: 2; align-self: center; z-index: 1; width: var(--benefit-icon-size); height: var(--benefit-icon-size); background: url('../figma/6e8b9.svg') center/contain no-repeat; display: flex; align-items: center; justify-content: center; }
.benefit:nth-child(even) .benefit__icon { grid-column: 1; }
.benefit__icon img { width: 62%; height: 62%; object-fit: contain; }
.benefit--organisation .benefit__icon img { width: 95%; height: 95%; }
.benefit--business .benefit__icon img { width: 56%; height: 72%; }
.benefit--peace .benefit__icon img { width: 60%; height: 60%; }
.services-title { position: relative; padding: calc(88 * var(--u)) calc(58 * var(--u)); min-height: calc(248 * var(--u)); }
.services-title::before, .service-card::before { display: none; }
.services-title h2 { font-family: var(--serif); font-weight: 600; font-size: var(--heading-size); max-width: 65%; }
.services-title__image { position: absolute; right: 5.4%; bottom: calc(75 * var(--u)); width: calc(554 * var(--u)); height: calc(554 * var(--u)); padding: calc(58 * var(--u)); background: url('../figma/ec4af.svg') center/contain no-repeat; border-radius: 50%; overflow: hidden; }
.services-title__image img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.services > .section-line { margin: calc(45 * var(--u)) 0; width: 71%; margin-left: auto; }
.service-card { display: grid; grid-template-columns: 38% 62%; height: calc(479 * var(--u)); margin-bottom: calc(40 * var(--u)); position: relative; }
.service-card__copy { display: flex; flex-direction: column; justify-content: center; padding: calc(50 * var(--u)) calc(58 * var(--u)); }
.service-card h3 { font-family: var(--serif); text-transform: uppercase; font-weight: 400; margin-bottom: calc(17 * var(--u)); }
.service-card h3 a { display: inline-block; min-height: 44px; text-decoration: none; }
.service-card h3 a:hover { text-decoration: underline; }
.service-card p { font-family: var(--serif); font-size: clamp(17px, 1.5625vw, 30px); }
.service-card .button { margin-top: calc(40 * var(--u)); }
.service-card__image { position: relative; min-width: 0; min-height: 0; display: block; height: 100%; overflow: hidden; }
.service-card__image picture { position: absolute; inset: 0; }
.service-card__image picture, .service-intro__image picture, .process-step__image picture { height: 100%; }
.service-card__image img { width: 100%; height: 100%; object-fit: cover; }
.service-card--reverse { grid-template-columns: 62% 38%; }
.service-card--reverse .service-card__copy { order: 2; text-align: right; align-items: flex-end; }
.service-card--reverse .service-card__image { order: 1; }
.service-card__divider { left: 0; position: absolute; width: 71%; height: max(1px, calc(4 * var(--u))); background: #111; bottom: calc(-22 * var(--u)); }
.service-card--reverse .service-card__divider { left: auto; right: 0; }
.home-process { margin-top: calc(85 * var(--u)); margin-bottom: calc(85 * var(--u)); padding: calc(70 * var(--u)) calc(58 * var(--u)) calc(72 * var(--u));  }
/* Full-width process surface; its copy keeps the existing container alignment. */
.home-process.container { --process-gutter: max(clamp(20px, 5.2083335vw, 100px), calc((100% - 1720px) / 2)); width: 100%; max-width: none; padding-inline: calc(var(--process-gutter) + 58 * var(--u)); background-color: transparent; }
.home-process::before { background-color: var(--navy); background-image: linear-gradient(rgb(0 50 73 / calc(1 - var(--grain-opacity))), rgb(0 50 73 / calc(1 - var(--grain-opacity)))), url('../textures/grain-blue.webp?v=5'); background-size: auto, var(--grain-size); opacity: 1; }
@media (min-width: 768px) {
  .home-process::before, .home-process::after { clip-path: polygon(0 0, calc(100% - var(--process-gutter)) 0, calc(100% - var(--process-gutter)) 44%, 100% 44%, 100% 100%, var(--process-gutter) 100%, var(--process-gutter) 56%, 0 56%); }
}
.home-process::after { content: ''; position: absolute; inset: 0; z-index: -1; background: url('../responsive/c82c0.webp') right bottom/6% 57% no-repeat, url('../responsive/6800a.webp') left top/6% 57% no-repeat; opacity: .12; }
.home-process > .section-line { width: 76%; margin-bottom: calc(68 * var(--u)); }
.home-process h2 { font-family: var(--serif); }
.home-process__steps { list-style: none; padding: 0; margin-top: calc(76 * var(--u)); display: grid; grid-template-columns: 1fr 1fr; gap: calc(45 * var(--u)) calc(75 * var(--u)); }
.home-process__steps li:nth-child(2) { grid-column: 2; grid-row: 1 / 3; align-self: center; text-align: right; }
.home-process__steps li:nth-child(3) { grid-column: 1; }
.home-process__steps h3 { display: inline-block; font-family: var(--serif); font-weight: 400; text-transform: uppercase; background: white; color: #111; padding: 3px 9px; margin-bottom: calc(18 * var(--u)); }
.home-process__steps p { font-family: var(--serif); font-size: clamp(17px, 1.5625vw, 30px); }
.home-process > .section-line:last-child { margin: calc(76 * var(--u)) 0 0 auto; }
.comparison { padding-bottom: calc(70 * var(--u)); }
.comparison h2 { margin-bottom: calc(70 * var(--u)); text-align: center; }
.home .comparison h2 { text-align: left; padding-left: calc(58 * var(--u)); }
.comparison__scroll { overflow-x: auto; scrollbar-color: #003249 #e8ecee; }

/* A persistent control also works on devices with disappearing native scrollbars. */
.comparison__viewport { scrollbar-width: none; }
.comparison__viewport::-webkit-scrollbar { display: none; }
.comparison__scrollbar {
  --comparison-nudge-distance: 40px;
  --comparison-nudge-duration: 650ms;
  --comparison-thumb-width: 44px;
  display: block;
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  height: 44px;
  margin: 8px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  touch-action: pan-y;
}
.comparison__scrollbar::-webkit-slider-runnable-track { height: 6px; border-radius: 3px; background: #78909c; }
.comparison__scrollbar::-webkit-slider-thumb {
  appearance: none;
  -webkit-appearance: none;
  width: var(--comparison-thumb-width);
  height: 12px;
  margin-top: -3px;
  border: 0;
  border-radius: 3px;
  background: #003249;
}
.comparison__scrollbar::-moz-range-track { height: 6px; border-radius: 3px; background: #78909c; }
.comparison__scrollbar::-moz-range-thumb { width: var(--comparison-thumb-width); height: 12px; border: 0; border-radius: 3px; background: #003249; }

.comparison table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: clamp(15px, 1.510417vw, 29px); font-weight: 300; }
.comparison col:nth-child(1) { width: 20.2%; }
.comparison col:nth-child(2) { width: 29.4%; }
.comparison col:nth-child(3) { width: 26.3%; }
.comparison col:nth-child(4) { width: 24.1%; }
.comparison th, .comparison td { padding: calc(20 * var(--u)) calc(38 * var(--u)); text-align: center; vertical-align: middle; }
.comparison thead th { color: white; background: #003249; height: calc(138 * var(--u)); font-size: clamp(16px, 1.666667vw, 32px); text-transform: uppercase; font-weight: 700; }
.comparison tbody th { font-size: clamp(16px, 1.666667vw, 32px); text-transform: uppercase; text-align: left; font-weight: 700; }
.comparison tbody tr { height: calc(105 * var(--u)); }
.comparison tbody tr:nth-child(even) > * { background: #003249; color: white; }
.comparison tr > * { position: relative; }
.comparison tr > * + *::before { content: ''; position: absolute; width: max(1px, calc(3 * var(--u))); height: 65%; left: 0; top: 17.5%; background: currentColor; opacity: .8; }
.comparison thead th:first-child, .comparison tbody tr:nth-child(even) th { border-radius: calc(18 * var(--u)) 0 0 calc(18 * var(--u)); }
.comparison thead th:last-child, .comparison tbody tr:nth-child(even) td:last-child { border-radius: 0 calc(18 * var(--u)) calc(18 * var(--u)) 0; }
.about { position: relative; aspect-ratio: 1720.5 / 552; margin-top: calc(10 * var(--u)); }
.about__image { width: 100%; height: 100%; object-fit: contain; }
.about__copy { position: absolute; width: 48%; right: 0; top: calc(16 * var(--u)); text-align: right; }
.about__copy p { margin-top: calc(28 * var(--u)); font-weight: 300; }
.partnership { padding: calc(105 * var(--u)) 0 calc(100 * var(--u)); text-align: center; }
.partnership h2 { max-width: 1316px; margin: auto; }
.partnership p { max-width: 1218px; margin: calc(30 * var(--u)) auto 0; font-weight: 300; }
.inquiry { padding: calc(54 * var(--u)) 20px calc(58 * var(--u)); text-align: center;  }
.inquiry h2 { font-family: var(--serif); font-weight: 600; max-width: 1522px; margin: auto; }
.inquiry__intro { font-family: var(--serif); max-width: 881px; margin: calc(30 * var(--u)) auto 0; }
.inquiry > .section-line { width: min(100%, calc(1213 * var(--u))); margin: calc(66 * var(--u)) auto calc(20 * var(--u)); }
.inquiry__brand { margin: auto; width: calc(191 * var(--u)); height: calc(125 * var(--u)); position: relative; overflow: hidden; }
.inquiry__brand img { position: absolute; width: 100%; height: auto; top: calc(-70 * var(--u)); }
.inquiry-form { width: min(100%, calc(626 * var(--u))); margin: calc(12 * var(--u)) auto 0; }
.inquiry-form__fields { display: grid; gap: calc(22 * var(--u)); }
.inquiry-form input { display: block; width: 100%; min-height: 44px; height: calc(63 * var(--u)); background: white; color: #111; text-align: center; border: 1px solid #c1cbd0; border-radius: 0; font-size: clamp(16px, 1.354167vw, 26px); padding: 8px 12px; caret-color: #003249; }
.inquiry-form input::placeholder { color: #333; opacity: 1; }
.inquiry-form .button { margin-top: calc(56 * var(--u)); }
.form-status { margin-top: 16px; font-size: clamp(14px, 1vw, 18px); }
.site-footer { text-align: center; border-top: calc(22 * var(--u)) solid white; padding: calc(45 * var(--u)) 20px calc(45 * var(--u));  }
.social-links { display: flex; gap: calc(45 * var(--u)); align-items: center; justify-content: center; }
.social-links a { width: calc(68 * var(--u)); height: calc(67 * var(--u)); min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; }
.social-links img { width: clamp(37px, calc(68 * var(--u)), 68px); height: auto; flex-shrink: 0; }
.site-footer p { font-family: 'Inter', Arial, sans-serif; font-size: clamp(13px, 1.25vw, 24px); line-height: 1.33; font-weight: 600; max-width: min(1197px, calc(1197 * var(--u))); margin: calc(45 * var(--u)) auto 0; }

/* Service pages share structure while retaining their own Figma assets and copy. */
.service-intro { position: relative; padding: calc(113 * var(--u)) 0 calc(100 * var(--u)); min-height: calc(666 * var(--u)); }
.service-intro__image { position: absolute; inset: calc(41 * var(--u)) 5.1% calc(37 * var(--u)) 0; z-index: -1; }
.service-intro__image img { width: 100%; height: 100%; object-fit: cover; }
.service-intro__image.has-gradient-reveal { overflow: hidden; }
.service-intro__wipe { position: absolute; inset: 0 auto 0 0; width: 160%; background: linear-gradient(to right, #fff 75%, #fff0 100%); pointer-events: none; }
.service-intro__title { max-width: 80%; }
.service-intro__tagline { margin-top: calc(12 * var(--u)); font-size: clamp(17px, 1.5625vw, 30px); text-transform: uppercase; font-weight: 300; max-width: calc(880 * var(--u)); }
.service-intro__line { margin: calc(48 * var(--u)) 0 calc(40 * var(--u)); width: 39.6%; }
.service-intro__description { max-width: calc(var(--intro-copy-width, 586) * var(--u)); font-weight: 300; }
.event-types { padding: calc(126 * var(--u)) 20px calc(130 * var(--u)); text-align: center; }
.event-types h2 { font-family: var(--serif); font-weight: 600; }
.event-types__list { list-style: none; padding: calc(40 * var(--u)) calc(120 * var(--u)) calc(10 * var(--u)); border-inline: max(1px, calc(4 * var(--u))) solid white; width: min(100%, calc(1240 * var(--u))); margin: calc(90 * var(--u)) auto 0; }
.event-type { max-width: calc(754 * var(--u)); margin-inline: auto; min-height: calc(275 * var(--u)); }
.event-type h3 { padding-bottom: calc(25 * var(--u)); border-bottom: max(1px, calc(4 * var(--u))) solid white; }
.event-type p { max-width: calc(586 * var(--u)); margin: calc(20 * var(--u)) auto 0; font-weight: 300; }
.event-types__cta { margin-top: calc(90 * var(--u)); font-family: var(--serif); font-size: var(--small-heading); }
.event-types .button { margin-top: calc(25 * var(--u)); }
.event-types.has-events-motion .event-types__list { position: relative; border-color: transparent; }
.event-types__side-line { position: absolute; top: 0; bottom: 0; width: max(1px, calc(4 * var(--u))); background: white; pointer-events: none; }
.event-types__side-line--left { left: calc(-1 * max(1px, calc(4 * var(--u)))); }
.event-types__side-line--right { right: calc(-1 * max(1px, calc(4 * var(--u)))); }
.event-types.has-events-motion .event-type h3 { position: relative; border-color: transparent; }
.event-type__heading-copy { display: block; }
.event-type__animated-line { position: absolute; left: 0; bottom: calc(-1 * max(1px, calc(4 * var(--u)))); width: 100%; height: max(1px, calc(4 * var(--u))); background: white; pointer-events: none; }
.organization { padding-top: calc(72 * var(--u)); }
.organization__grid { display: grid; grid-template-columns: 46.6% 1fr; gap: calc(116 * var(--u)); }
.organization__collage img { width: 100%; height: auto; }
.organization__mobile-image { display: none; }
.organization__content { border-left: max(1px, calc(4 * var(--u))) solid #111; padding-left: calc(116 * var(--u)); text-align: right; display: flex; flex-direction: column; }
.organization__heading { padding-top: calc(100 * var(--u)); border-top: max(1px, calc(4 * var(--u))) solid #111; }
.organization__heading h2 { max-width: 85%; margin-left: auto; }
.organization__heading p { margin-top: calc(45 * var(--u)); font-size: clamp(17px, 1.5625vw, 30px); font-weight: 300; text-transform: uppercase; }
.organization__items { flex: 1; display: flex; flex-direction: column; justify-content: space-around; padding-top: calc(65 * var(--u)); }
.organization-item { padding: calc(32 * var(--u)) 0; }
.organization-item h3 { padding-bottom: calc(24 * var(--u)); border-bottom: max(1px, calc(4 * var(--u))) solid #111; }
.organization-item p { margin-top: calc(25 * var(--u)); font-weight: 300; }
.organization > .section-line { margin-top: calc(98 * var(--u)); }
.organization.has-organization-motion .organization__content,
.organization.has-organization-motion .organization__heading,
.organization.has-organization-motion .organization-item h3 { position: relative; border-color: transparent; }
.organization-item__heading-copy { display: block; }
.organization__motion-line { position: absolute; background: currentColor; pointer-events: none; }
.organization__motion-line--top,
.organization__motion-line--bottom { left: 0; width: 100%; height: max(1px, calc(4 * var(--u))); }
.organization__motion-line--top { top: calc(-1 * max(1px, calc(4 * var(--u)))); }
.organization__motion-line--bottom { bottom: calc(-1 * max(1px, calc(4 * var(--u)))); }
.organization__motion-line--vertical { top: 0; bottom: 0; left: calc(-1 * max(1px, calc(4 * var(--u)))); width: max(1px, calc(4 * var(--u))); }
.process { padding-top: calc(100 * var(--u)); padding-bottom: calc(100 * var(--u)); }
.process h2 { text-align: center; margin-bottom: calc(110 * var(--u)); }
.process__steps { padding: 0; list-style: none; }
.process-step { display: flex; width: 94.9%; max-width: 1822px; margin-bottom: calc(85 * var(--u)); min-height: calc(306 * var(--u)); }
.process-step:last-child { margin-bottom: 0; }
.process-step:nth-child(even) { margin-left: auto; flex-direction: row-reverse; }
.process-step__copy { width: 64%; min-width: 0; display: flex; align-items: center; gap: calc(35 * var(--u)); padding: calc(30 * var(--u)) calc(42 * var(--u));  }
.process-step:nth-child(even) .process-step__copy { flex-direction: row-reverse; text-align: right; }
.process-step__number { font-family: var(--serif); font-size: calc(256 * var(--u)); line-height: .9; font-weight: 400; border-left: calc(12 * var(--u)) solid white; padding-left: calc(24 * var(--u)); }
.process-step:nth-child(even) .process-step__number { border-left: 0; border-right: calc(12 * var(--u)) solid white; padding-left: 0; padding-right: calc(24 * var(--u)); }
.process-step h3 { font-family: var(--serif); text-transform: uppercase; font-weight: 400; padding-bottom: calc(20 * var(--u)); border-bottom: max(1px, calc(4 * var(--u))) solid white; }
.process-step p { font-family: var(--serif); font-size: clamp(17px, 1.5625vw, 30px); margin-top: calc(18 * var(--u)); }
.process-step__image { position: relative; width: 36%; flex-shrink: 0; overflow: hidden; background: #041f2b; }
.process-step__image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.process--contained .process-step { max-width: none; }
.process--contained .process-step__image { overflow: hidden; }
.process--contained .process-step__image img { object-fit: contain; filter: url('#gea-process-icon'); }
.process-icon-filter { position: absolute; pointer-events: none; }

/* Alternating process backgrounds reach the viewport; content keeps its inset. */
.process--contained.container--wide { width: 100%; max-width: none; }
.process--contained > h2 { width: calc(100% - 40px); margin-inline: auto; }
.process--contained .process-step__copy { --navy: #041f2b; }
.process--contained .process-step__image { background-color: #022736; }
@media (min-width: 768px) {
  .process--contained { --process-gutter: max(clamp(20px, 5.104167vw, 98px), calc((100vw - 1724px) / 2)); }
  .process--contained .process-step { width: calc(100% - var(--process-gutter)); }
}
@media (min-width: 1101px) {
  .process--contained .process-step__image { width: calc(653 * var(--u)); }
  .process--contained .process-step__image img { object-fit: cover; }
  .process--contained .process-step__copy { width: auto; flex: 1; gap: calc(45 * var(--u)); padding: calc(36 * var(--u)) calc(68 * var(--u)) calc(30 * var(--u)) calc(var(--process-gutter) - 9 * var(--u)); }
  .process--contained .process-step__copy > div { flex: 1; }
  .process--contained .process-step__number { position: relative; flex: 0 0 calc(164 * var(--u)); border: 0; padding-left: calc(36 * var(--u)); }
  .process--contained .process-step__number::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: calc(12 * var(--u)); height: calc(158 * var(--u)); background: white; }
  .process--contained .process-step:nth-child(even) .process-step__copy { gap: calc(50 * var(--u)); padding-top: calc(30 * var(--u)); padding-left: calc(66 * var(--u)); padding-right: calc(var(--process-gutter) - 12 * var(--u)); }
  .process--contained .process-step:nth-child(even) .process-step__number { border: 0; padding-left: 0; padding-right: calc(36 * var(--u)); }
  .process--contained .process-step:nth-child(even) .process-step__number::before { left: auto; right: 0; }
  .process--contained .process-step:nth-child(3) .process-step__copy { gap: calc(30 * var(--u)); padding-top: calc(43 * var(--u)); padding-bottom: calc(17 * var(--u)); }
  .process--contained .process-step h3 { max-width: calc(801 * var(--u)); font-size: calc(34 * var(--u)); padding-bottom: calc(13 * var(--u)); }
  .process--contained .process-step p { max-width: calc(759 * var(--u)); margin-top: calc(15 * var(--u)); font-size: calc(30 * var(--u)); line-height: 1.2; font-weight: 400; }
  .process--contained .process-step:nth-child(even) h3 { margin-left: auto; }
  .process--contained .process-step:nth-child(even) p { max-width: calc(734 * var(--u)); margin-left: auto; }
  .process--contained .process-step:nth-child(3) p { width: 100%; max-width: calc(881 * var(--u)); }
}

/* Measurements from the current 1920px Figma frames. Mobile retains content flow. */
.gea-page-konferentsii { --intro-copy-width: 656; --organization-top: 125; }
.gea-page-gala-vecheri { --intro-copy-width: 789; --collage-height: 2667; --organization-bottom: 125; --process-top: 80; }
.gea-page-tematichni-sabitiya { --intro-copy-width: 710; --collage-height: 2273; --organization-bottom: 131; --process-top: 106; }
.gea-page-koledni-partita { --intro-copy-width: 703; --collage-height: 2426; --organization-bottom: 127; --process-top: 90; --process-heading-gap: 100; }
.gea-page-korporativni-semeyni-dni { --intro-copy-width: 775; --collage-height: 2426; --organization-bottom: 127; --process-top: 90; --process-heading-gap: 100; }
.process-step__copy > div { min-width: 0; }
@media (min-width: 768px) {
  .button { min-height: max(44px, calc(57 * var(--u))); }
  .event-types { padding-bottom: calc(124 * var(--u)); }
  .event-types h2 { font-size: clamp(27px, 2.239583vw, 43px); }
  .event-types__list { display: flow-root; padding-top: 0; padding-bottom: 0; margin-top: calc(146 * var(--u)); min-height: calc(754 * var(--u)); }
  .event-type { width: 100%; }
  .event-type:first-child { margin-top: calc(-14 * var(--u)); }
  .event-type:last-child { min-height: 0; }
  .event-types__cta { margin-top: calc(161 * var(--u)); }
  .event-types .button { margin-top: calc(30 * var(--u)); }
  .event-types:has(.event-type:nth-child(4)) { padding-bottom: calc(87 * var(--u)); }
  .event-types__list:has(.event-type:nth-child(4)) { min-height: calc(1017 * var(--u)); }
  .event-types:has(.event-type:nth-child(4)) .event-types__cta { margin-top: calc(128 * var(--u)); }
  .organization { padding-top: calc(var(--organization-top, 72) * var(--u)); }
  .organization__grid { grid-template-columns: calc(801 * var(--u)) minmax(0, 1fr); }
  .organization__collage { aspect-ratio: 801 / var(--collage-height, 2086); align-self: start; }
  .organization__collage img { width: 100%; height: 100%; object-fit: cover; }
  .organization > .section-line { margin-top: calc(var(--organization-bottom, 98) * var(--u)); }
  .process { padding-top: calc(var(--process-top, 100) * var(--u)); padding-bottom: calc(104 * var(--u)); }
  .process h2 { margin-bottom: calc(var(--process-heading-gap, 110) * var(--u)); }
  .comparison h2 { margin-bottom: calc(116 * var(--u)); }
  .comparison th, .comparison td { padding-block: calc(11 * var(--u)); }
  .comparison tbody tr { height: calc(98 * var(--u)); }
  .comparison tbody tr:nth-child(even) { height: calc(111 * var(--u)); }
  .comparison { padding-bottom: calc(117 * var(--u)); }
  .home .services > .section-line { margin-block: calc(46 * var(--u)); }
  .home .service-card { margin-bottom: calc(41.5 * var(--u)); }
  .inquiry { padding-bottom: calc(53 * var(--u)); }
  .site-footer { border-top-width: calc(25 * var(--u)); padding-top: calc(49 * var(--u)); padding-bottom: calc(56 * var(--u)); }
  .site-footer p { margin-top: calc(36 * var(--u)); }
  .home .home-process { min-height: calc(813 * var(--u)); margin-top: calc(95 * var(--u)); margin-bottom: calc(90 * var(--u)); }
  .home .comparison h2 { margin-bottom: calc(80 * var(--u)); }
  .home .comparison { padding-bottom: calc(122 * var(--u)); }
  .home .partnership { padding-top: calc(116 * var(--u)); padding-bottom: calc(138 * var(--u)); }
  .home .partnership p { margin-top: calc(42 * var(--u)); }
}



/* Shared service organization panels use the reviewed Cyrillic type and inset rules. */
.service-page .organization { font-family: 'Inter', Arial, sans-serif; }
.service-page .organization h3 { font-weight: 400; }
.service-page .organization p { font-weight: 300; letter-spacing: .02em; }
@media (min-width: 1101px) {
  .service-page .organization__content { padding-left: calc(118 * var(--u)); }
  .service-page .organization__heading { padding-top: calc(102 * var(--u)); }
  .service-page .organization__heading h2 { font-size: calc(43 * var(--u)); line-height: calc(52.5 * var(--u)); letter-spacing: .015em; }
  .service-page .organization__heading p { width: calc(636 * var(--u)); max-width: 100%; margin-left: auto; margin-top: calc(43 * var(--u)); font-size: calc(30 * var(--u)); }
  .service-page .organization__items { padding-top: calc(123 * var(--u)); justify-content: flex-start; }
  .service-page .organization-item { padding: 0; min-height: calc(var(--organization-row-height, 277) * var(--u)); }
  .service-page .organization-item:nth-child(1) { --organization-row-height: 347; }
  .service-page .organization-item:nth-child(2) { --organization-row-height: 372; }
  .service-page .organization-item:nth-child(3) { --organization-row-height: 331; }
  .service-page .organization-item:nth-child(4) { --organization-row-height: 304; }
  .service-page .organization-item:nth-child(5) { --organization-row-height: 277; }
  .service-page .organization-item h3 { width: calc(636 * var(--u)); max-width: 100%; margin-left: auto; padding-right: calc(33 * var(--u)); font-size: calc(35.5 * var(--u)); line-height: calc(40 * var(--u)); letter-spacing: .02em; }
  .service-page .organization p { font-weight: 250; }
  .service-page .organization-item p { margin-top: calc(21 * var(--u)); font-size: calc(28.5 * var(--u)); line-height: calc(35 * var(--u)); }
}

/* Keep the process steps and divider offsets aligned with the reference. */
@media (min-width: 1101px) {
  .home-process.container { padding: calc(73 * var(--u)) calc(var(--process-gutter) + 60 * var(--u)) calc(76 * var(--u)); }
  .home-process > .section-line { width: calc(1213 * var(--u)); margin-left: calc(-58 * var(--u)); margin-bottom: calc(62 * var(--u)); }
  .home-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: calc(79 * var(--u)); column-gap: 0; row-gap: calc(132 * var(--u)); }
  .home-process__steps li { width: calc(881 * var(--u)); }
  .home-process__steps li:nth-child(2) { justify-self: end; align-self: start; padding-top: calc(119 * var(--u)); }
  .home-process__steps h3 { display: inline-flex; align-items: center; height: calc(47 * var(--u)); padding: 0 calc(17 * var(--u)); border: 1px solid #111; font-size: calc(34 * var(--u)); white-space: nowrap; margin-bottom: calc(16 * var(--u)); }
  .home-process__steps li:nth-child(1) h3 { width: calc(274 * var(--u)); }
  .home-process__steps li:nth-child(2) h3 { width: calc(445 * var(--u)); margin-bottom: calc(22 * var(--u)); }
  .home-process__steps li:nth-child(3) h3 { width: calc(287 * var(--u)); margin-bottom: calc(18 * var(--u)); }
  .home-process__steps p { font-size: calc(30 * var(--u)); line-height: 1.2; }
  .home-process > .section-line:last-child { margin-top: calc(62 * var(--u)); margin-right: calc(-58 * var(--u)); margin-left: auto; }
}

@media (min-width: 1921px) { .hero { max-height: 946px; aspect-ratio: auto; height: 946px; } }
@media (max-width: 1100px) {
  .service-card { height: auto; min-height: calc(479 * var(--u)); }
  .service-card__image { height: auto; }
  .service-intro__title { max-width: 100%; }
  .service-intro__tagline { max-width: 43%; }
  .service-intro__description { max-width: 38%; }
  .service-intro { padding-top: 45px; padding-bottom: 45px; }
  .organization__content { padding-left: 30px; }
  .organization__grid { gap: 30px; }
  .organization__heading { padding-top: 35px; }
  .organization__items { padding-top: 20px; }
  .process-step__copy { width: 70%; }
  .process-step__image { width: 30%; }
  .comparison th, .comparison td { padding: 12px; }
  .about__copy h2 { font-size: 22px; }
  .about__copy p { font-size: 16px; }
}
@media (max-width: 767px) {
  html.mobile-menu-open .site-header,
  html.mobile-menu-open .site-header::before { box-shadow: none; }
  :root { --header-height: 76px; --body-size: 16px; --heading-size: clamp(23px, 4.8vw, 32px); --small-heading: 21px; }
  .container { width: calc(100% - 40px); }
  .site-header { height: 76px; }
  .site-header__inner { gap: 12px; }
  .brand { width: 110px; }
  .brand img { top: -39px; }
  .header-inquiry { margin-left: auto; width: auto; padding-inline: 13px; font-size: 12px; }
  .menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
  html.mobile-menu-open .site-header { position: fixed; top: var(--mobile-header-offset, 0px); left: 0; width: 100%; }
  .home .site-header.is-menu-open::before { opacity: 1; }
  .home .site-header.is-menu-open::after { opacity: 0; }
  .main-nav { position: absolute; inset: 76px -20px auto; transform: none; background: #003249; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 20px; padding-bottom: max(20px, env(safe-area-inset-bottom)); height: calc(100vh - var(--header-height) - var(--mobile-header-offset, 0px)); height: calc(100dvh - var(--header-height) - var(--mobile-header-offset, 0px)); overflow-y: auto; overscroll-behavior-y: contain; }
  .main-nav > * { flex-shrink: 0; }
  .main-nav { background-image: linear-gradient(rgb(0 50 73 / calc(1 - var(--grain-opacity))), rgb(0 50 73 / calc(1 - var(--grain-opacity)))), url('../textures/grain-blue.webp?v=5'); background-size: auto, var(--grain-size); background-repeat: repeat; }
  .main-nav[hidden] { display: none !important; }
  .nav-link, .events-trigger { min-height: 48px; font-size: 16px; width: 100%; padding-inline: 12px; }
  /* The mobile navigation owns the surface; nested grain must not cover its trigger. */
  .events-panel { position: static; padding: 18px 24px; width: 100%; box-shadow: none; background: transparent; isolation: auto; }
  .events-panel::before { content: none; }
  .nav-link::after, .events-trigger::after { left: 12px; right: 12px; }
  .events-panel::after { display: none; }
  .events-panel li a { font-size: 14px; }
  .hero { height: clamp(280px, 70vw, 480px); aspect-ratio: auto; }
  .home-intro { padding: 40px 20px; }
  .home-intro .button { margin-top: 28px; }
  .button { width: auto; min-width: min(240px, 100%); padding: 9px 20px; font-size: 21px; }
  .client-logos { padding: 26px 0; }
  .client-logos__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .client-logos img { max-height: 45px; max-width: min(95px, 100%); }
  .benefits { padding-top: 42px; }
  .benefits__intro > .section-line { width: 100%; margin: 20px 0; }
  .benefits__grid { grid-template-columns: 1fr; gap: 30px; margin-top: 40px; padding-bottom: 155px; }
  .benefit, .benefit:nth-child(even) { --benefit-icon-size: 72px; grid-template-columns: var(--benefit-icon-size) minmax(0, 1fr); text-align: left; padding: 0; transform: none; min-height: 90px; column-gap: 20px; row-gap: 14px; }
  .benefit h2, .benefit:nth-child(even) h2 { grid-column: 2; font-size: 20px; margin: 0; }
  .benefit p { grid-column: 2; }
  .benefit .section-line, .benefit:nth-child(even) .section-line { width: calc(100% - var(--benefit-icon-size)); justify-self: end; margin: 0; }
  .benefit__icon, .benefit:nth-child(even) .benefit__icon { grid-column: 1; }
  .services-title { padding: 110px 24px 28px; min-height: 0; }
  .services-title h2 { max-width: 100%; font-size: 26px; }
  .services-title__image { width: 180px; height: 180px; padding: 20px; bottom: auto; top: -95px; right: 24px; }
  .services > .section-line { margin: 24px 0; width: 100%; }
  .service-card, .service-card--reverse { grid-template-columns: 1fr; height: auto; margin-bottom: 28px; }
  .service-card__copy, .service-card--reverse .service-card__copy { padding: 30px 24px; order: 0; text-align: left; align-items: flex-start; }
  .service-card h3 { font-size: 24px; margin-bottom: 14px; }
  .service-card p { font-size: 19px; }
  .service-card .button { margin-top: 22px; }
  .service-card__image, .service-card--reverse .service-card__image { order: 1; height: auto; aspect-ratio: 16 / 10; }
  .service-card__divider { width: 100%; bottom: -15px; }
  .home-process { margin-block: 48px; padding: 30px 24px; }
  .home-process.container { padding-inline: calc(var(--process-gutter) + 24px); }
  .home-process > .section-line { margin-bottom: 25px; width: 100%; }
  .home-process h2 { font-size: 26px; }
  .home-process__steps { display: flex; flex-direction: column; gap: 28px; margin-top: 30px; }
  .home-process__steps li:nth-child(2) { text-align: left; }
  .home-process__steps h3 { font-size: 20px; margin-bottom: 12px; }
  .home-process__steps p { font-size: 18px; }
  .home-process > .section-line:last-child { margin-top: 30px; }
  .comparison { padding-bottom: 40px; }
  .comparison h2, .home .comparison h2 { padding: 0; margin-bottom: 26px; text-align: left; }
  .comparison table { min-width: 780px; font-size: 15px; }
  /* Keep complete mobile criterion labels clear of the column divider. */
  .comparison col:nth-child(1) { width: 23.7%; }
  .comparison col:nth-child(2) { width: 27.8%; }
  .comparison col:nth-child(3) { width: 25%; }
  .comparison col:nth-child(4) { width: 23.5%; }
  .comparison thead th, .comparison tbody th { font-size: 16px; }
  .comparison thead th { height: 70px; }
  .comparison tbody tr { height: 66px; }
  .comparison th, .comparison td { padding: 12px 16px; }
  .comparison thead th:first-child, .comparison tbody tr:nth-child(even) th { border-radius: 8px 0 0 8px; }
  .comparison thead th:last-child, .comparison tbody tr:nth-child(even) td:last-child { border-radius: 0 8px 8px 0; }
  .about { display: flex; flex-direction: column; gap: 26px; aspect-ratio: auto; margin-top: 0; }
  .about__image { height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: left; }
  .about__copy { order: -1; position: static; width: 100%; text-align: center; padding-top: 0; }
  .about__copy h2 { font-size: 25px; }
  .about__copy p { margin-top: 18px; font-size: 16px; }
  .partnership { padding: 46px 0; }
  .partnership p { margin-top: 22px; }
  .inquiry { padding: 38px 20px; }
  .inquiry h2 { font-size: 25px; }
  .inquiry__intro { margin-top: 18px; font-size: 18px; }
  .inquiry > .section-line { width: 100%; margin: 30px auto 12px; }
  .inquiry__brand { width: 145px; height: 95px; }
  .inquiry__brand img { top: -53px; }
  .inquiry-form { width: min(100%, 440px); margin-top: 8px; }
  .inquiry-form__fields { gap: 13px; }
  .inquiry-form input { height: 48px; }
  .inquiry-form .button { margin-top: 26px; }
  .site-footer { padding: 25px 20px 30px; border-top-width: 12px; }
  .social-links { gap: 18px; }
  .social-links a { width: 44px; height: 44px; }
  .site-footer p { max-width: 100%; margin-top: 18px; }
  .service-intro { padding: 36px 0 0; min-height: 0; }
  .service-intro__title { max-width: 100%; }
  .service-intro__tagline { max-width: 100%; margin-top: 16px; font-size: 18px; }
  .service-intro__line { width: 100%; margin: 24px 0 20px; }
  .service-intro__description { max-width: 100%; }
  .service-intro__image { position: static; margin: 28px 20px 24px; height: auto; aspect-ratio: 16 / 10; }
  .service-intro__image.has-gradient-reveal { position: relative; inset: auto; z-index: auto; }
  .service-intro__image img { height: 100%; object-fit: cover; object-position: right; }
  .event-types { padding: 42px 20px; }
  .event-types h2 { font-size: 27px; }
  .event-types__list { width: min(100%, 540px); margin-top: 30px; padding: 10px 20px 0; }
  .event-type { max-width: 100%; min-height: 0; padding-bottom: 34px; }
  .event-type:last-child { padding-bottom: 10px; }
  .event-type h3 { font-size: 21px; padding-bottom: 15px; }
  .event-type p { max-width: 100%; margin-top: 15px; }
  .event-types__cta { font-size: 22px; margin-top: 30px; }
  .event-types .button { margin-top: 18px; }
  .organization { padding-top: 38px; }
  .organization__grid { grid-template-columns: 1fr; gap: 30px; }
  .organization__content { order: -1; border-left: 0; padding-left: 0; text-align: left; }
  .organization__heading { padding-top: 24px; }
  .organization__heading h2 { max-width: 100%; }
  .organization__heading p { margin-top: 18px; font-size: 17px; }
  .organization__items { padding-top: 14px; }
  .organization-item { padding: 18px 0; }
  .organization-item h3 { font-size: 21px; padding-bottom: 14px; }
  .organization-item p { margin-top: 14px; }
  .organization__collage { width: min(100%, 540px); margin-inline: auto; }
  .organization__grid:has(> .organization__mobile-image) > .organization__collage { display: none; }
  .organization__mobile-image { display: block; width: 100%; margin: 0; }
  .organization__mobile-image img { width: 100%; height: auto; }
  .organization > .section-line { margin-top: 35px; }
  .process { padding-top: 36px; padding-bottom: 42px; }
  .process h2 { margin-bottom: 30px; }
  .process-step, .process-step:nth-child(even) { width: calc(100% - 40px); margin-inline: auto; margin-bottom: 24px; flex-direction: column; }
  .process--contained .process-step, .process--contained .process-step:nth-child(even) { width: 100%; }
  .process-step__copy, .process-step:nth-child(even) .process-step__copy { width: 100%; padding: 26px 20px; gap: 18px; text-align: left; flex-direction: row; align-items: flex-start; }
  .process-step__number, .process-step:nth-child(even) .process-step__number { font-size: 70px; border-left: 3px solid white; border-right: 0; padding-left: 10px; padding-right: 0; }
  .process-step h3 { font-size: 20px; padding-bottom: 12px; }
  .process-step p { font-size: 18px; margin-top: 13px; }
  .process-step__image { width: 100%; height: 125px; }
  .process-step__image img { object-fit: contain; }
  /* Mobile process reference: number, title and icon share the top band. */
  .process--contained .process__steps { background: white; }
  .process--contained .process-step,
  .process--contained .process-step:nth-child(even) {
    display: grid;
    grid-template-columns: 20.5% minmax(0, 1fr) 27%;
    grid-template-rows: auto auto auto;
    position: relative;
    isolation: isolate;
    min-height: 0;
    margin-bottom: clamp(28px, 8.4vw, 49px);
    background: #003249;
    color: white;
  }
  .process--contained .process-step:last-child { margin-bottom: 0; }
  .process--contained .process-step::before {
    content: '';
    grid-column: 1 / -1;
    grid-row: 1;
    z-index: -1;
    background: #022736;
  }
  .process--contained .process-step::after {
    content: '';
    grid-column: 1 / -1;
    grid-row: 2;
    width: 86%;
    height: 3px;
    background: white;
  }
  .process--contained .process-step:first-child::after { width: 88.7%; justify-self: end; }
  .process--contained .process-step:nth-child(even)::after { width: 83.5%; }
  .process--contained .process-step__copy,
  .process--contained .process-step__copy > div { display: contents; }
  .process--contained .process-step__copy::before { content: none; }
  .process--contained .process-step__number,
  .process--contained .process-step:nth-child(even) .process-step__number {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    border: 0;
    padding: 0 0 0 6.5vw;
    font-size: clamp(76px, 23vw, 134px);
    line-height: .9;
  }
  .process--contained .process-step h3 {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    border: 0;
    padding: 22px 0;
    font-size: clamp(21px, 6.5vw, 38px);
    line-height: 1.16;
    text-align: left;
    overflow-wrap: anywhere;
  }
  .process--contained .process-step p {
    grid-column: 1 / -1;
    grid-row: 3;
    margin: 0;
    padding: clamp(12px, 3.4vw, 20px) 7vw clamp(22px, 5.8vw, 34px);
    font-size: clamp(18px, 5.14vw, 30px);
    line-height: 1.14;
    text-align: left;
  }
  .process--contained .process-step__image {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    width: 100%;
    height: clamp(96px, 26vw, 152px);
    margin-block: clamp(6px, 1.4vw, 8px);
    background: transparent;
    left: -3vw;
  }
  .process--contained .process-step__image img {
    top: -8px;
    left: -70%;
    width: 240%;
    height: calc(100% + 16px);
    max-width: none;
    object-fit: contain;
  }
  .process--contained .process-step:nth-child(even) { grid-template-columns: 27% minmax(0, 1fr) 20.5%; }
  .process--contained .process-step:nth-child(even) .process-step__number { grid-column: 3; padding: 0 6.5vw 0 0; text-align: right; }
  .process--contained .process-step:nth-child(even) .process-step__image { grid-column: 1; left: 3.5vw; }
  .process--contained .process-step:nth-child(3) .process-step__image { left: -7vw; }
  .process--contained .process-step:nth-child(even) h3,
  .process--contained .process-step:nth-child(even) p { text-align: right; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
/* Homepage section motion follows the client's section-by-section review. */

/* Homepage client strip: enhance the readable static list only when JS is ready. */
.client-logos.is-slider .client-logos__viewport { overflow: hidden; }
.client-logos.is-slider .client-logos__track { display: flex; width: max-content; }
.client-logos.is-slider .client-logos__list { display: flex; flex: 0 0 auto; width: max-content; max-width: none; margin: 0; gap: 32px; padding: 0 16px; }
.client-logos.is-slider .client-logos__list li { display: flex; align-items: center; justify-content: center; width: clamp(110px, 10vw, 185px); flex: 0 0 auto; }
.client-logos.is-slider img { max-height: clamp(45px, 5.7vw, 110px); max-width: 100%; }
@media (prefers-reduced-motion: reduce) {
  .client-logos.is-slider .client-logos__track { transform: none; width: max-content; display: flex; }
  .client-logos.is-slider .client-logos__viewport { overflow-x: auto; }
  .client-logos.is-slider .client-logos__list { display: flex; width: max-content; max-width: none; margin: 0; padding: 0 16px; }
  .client-logos__list[aria-hidden='true'] { display: none; }
}


:root {
  --ease-out: cubic-bezier(0.32, 0.72, 0, 1);
  --reveal-ease: power2.out;
  --reveal-duration: 800ms;
  --mobile-reveal-inset: 24px;
  --icon-duration: 700ms;
  --benefit-head-start: 200ms;
  --line-duration: 900ms;
  --cta-duration: 650ms;
  --cta-delay: 200ms;
  --intro-line-duration: 550ms;
  --intro-line-stagger: 180ms;
  --header-transition-duration: 320ms;
  --hero-wipe-duration: 1400ms;
  --hero-wipe-ease: power2.inOut;
  --hero-wipe-skew: -14deg;
}
