:root{
  color-scheme: light;
  --space-3xs: 2px; --space-2xs: 4px; --space-xs: 8px; --space-sm: 12px; --space-md: 16px; --space-lg: 24px; --space-xl: 40px; --space-2xl: 64px; --space-3xl: 96px; --space-4xl: 144px;
  --text-xs: 0.8125rem; --text-sm: 0.875rem; --text-md: 1rem; --text-lg: 1.25rem; --text-xl: 1.5625rem; --text-2xl: 1.953rem; --text-3xl: 2.441rem;
  --text-display-s: clamp(2.25rem, 4vw + 0.5rem, 4rem); --text-display: clamp(3.25rem, 7.4vw + 0.5rem, 8.5rem);
  --text-poster: clamp(4.5rem, 11vw + 1rem, 12rem);
  --text-section: clamp(2.25rem, 2.6vw + 1rem, 3.75rem); --text-title: clamp(1.25rem, 0.75vw + 0.875rem, 1.625rem); --text-lead: clamp(1.125rem, 0.35vw + 1rem, 1.375rem);
  --text-figure: clamp(2.5rem, 3vw + 1rem, 4rem); --text-quote: clamp(2rem, 3.2vw + 1rem, 4.25rem);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-micro: 120ms; --dur-short: 220ms; --dur-long: 420ms; --dur-fade: 1200ms;
  --container: 1440px; --gutter: 64px; --gap-columns: 32px; --section-gap-s: 120px; --section-gap: 160px;
  --z-sticky-nav: 300;
  /* the client's navy (#001236) and gold (#E8B400), mixed in OKLCH */
  --color-paper: #F7F5F0; --color-paper-2: #FFFEFB; --color-paper-3: #EFEBE3;
  --color-deep: #EEF2F7;
  --color-ink: #0B1B3F; --color-ink-2: #3A4763; --color-muted: #5A6580;
  --color-rule: #E2DDD3; --color-rule-2: #CBC4B6;
  --color-accent: #7A5800; --color-accent-hover: #5E4400; --color-accent-ink: #0B1B3F;
  --color-accent-soft: #E8B40066;
  --color-gold: #E8B400; --color-gold-hover: #F2C21A;
  --color-focus: #0B1B3F;
  --color-tile: #FFFEFB;
  /* the night scope used by the hero, the club band and the footer */
  --dk-paper: oklch(17% 0.058 262); --dk-paper-2: oklch(21% 0.06 262); --dk-paper-3: oklch(25% 0.058 262); --dk-deep: oklch(13% 0.05 262);
  --dk-ink: oklch(96.5% 0.008 250); --dk-ink-2: oklch(86% 0.02 255); --dk-muted: oklch(73% 0.03 258);
  --dk-rule: oklch(31% 0.05 262); --dk-rule-2: oklch(41% 0.05 262);
  --dk-accent: oklch(81% 0.165 86); --dk-accent-hover: oklch(86% 0.15 88); --dk-accent-soft: oklch(81% 0.165 86 / 0.35);
  --scrim: oklch(13% 0.05 262 / 0.94); --scrim-mid: oklch(13% 0.05 262 / 0.55); --scrim-0: oklch(13% 0.05 262 / 0);
  --font-display: "Heebo", "Assistant", ui-sans-serif, system-ui, sans-serif;
  --font-body: "Heebo", "Assistant", ui-sans-serif, system-ui, sans-serif;
  --radius-card: 18px; --glass-fill: #FFFEFB1F; --glass-hover: #FFFEFB33; --glass-line: #FFFEFB66; --radius-soft: 12px; --shadow-soft: 0 14px 34px -18px #0B1B3F40; --radius-pill: 999px; --rule-hair: 1px;
  --display-weight: 300;
  --banner-h: 40px;
  /* chart series, validated for the light surface (dataviz validate_palette: CVD 9.9, contrast 3:1+) */
  --viz-jer: #c98500; --viz-rg: #2a78d6; --viz-by: #d95926; --viz-rlz: #13936a;
  --color-error: oklch(76% 0.13 28);
}
:is(.cv-analyst, .cv-pw) .chips{ display: flex; flex-wrap: wrap; gap: var(--space-xs); }
:is(.cv-analyst, .cv-pw) .chip{ min-height: 44px; padding: 0 var(--space-md); border-radius: var(--radius-pill); border: 1px solid var(--color-rule-2); background: var(--scrim-0); cursor: pointer; font-size: var(--text-sm); transition: background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out); }
:is(.cv-analyst, .cv-pw) .chip:hover{ background: var(--color-paper-2); }
:is(.cv-analyst, .cv-pw) .chip[aria-pressed="true"], :is(.cv-analyst, .cv-pw) .chip[aria-selected="true"]{ background: var(--color-ink); color: var(--color-paper); border-color: var(--color-ink); }
:is(.cv-analyst, .cv-pw) .chip:focus-visible{ outline: 2px solid var(--color-focus); outline-offset: 2px; }
:is(.cv-analyst, .cv-pw) .chip:active{ transform: translateY(1px); }
:is(.cv-analyst, .cv-pw) .chip:disabled{ opacity: 0.5; cursor: not-allowed; }
:is(.cv-analyst, .cv-pw) .section__head{ display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-xl); align-items: end; margin-bottom: var(--space-2xl); }
:is(.cv-analyst, .cv-pw) .section__head .lead{ justify-self: start; }
@media (max-width: 60rem){:is(.cv-analyst, .cv-pw) .hero__in, :is(.cv-analyst, .cv-pw) .section__head, :is(.cv-analyst, .cv-pw) .case, :is(.cv-analyst, .cv-pw) .close__grid, :is(.cv-analyst, .cv-pw) .scale__grid, :is(.cv-analyst, .cv-pw) .why-wrap, :is(.cv-analyst, .cv-pw) .tech__grid, :is(.cv-analyst, .cv-pw) .about, :is(.cv-analyst, .cv-pw) .media-top, :is(.cv-analyst, .cv-pw) .story{ grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); }}
@media (prefers-reduced-motion: reduce){:is(.cv-analyst, .cv-pw) .bar, :is(.cv-analyst, .cv-pw) .btn, :is(.cv-analyst, .cv-pw) .chip, :is(.cv-analyst, .cv-pw) .who button, :is(.cv-analyst, .cv-pw) .card__hover, :is(.cv-analyst, .cv-pw) .cover, :is(.cv-analyst, .cv-pw) .contact a, :is(.cv-analyst, .cv-pw) .story__stage img, :is(.cv-analyst, .cv-pw) .step blockquote, :is(.cv-analyst, .cv-pw) .reel img{ transition: none; }}
:is(.cv-analyst, .cv-pw) .viz-wrap{ display: grid; gap: var(--space-md); padding: var(--space-xl); border-radius: var(--radius-card); background: var(--color-deep); border: var(--rule-hair) solid var(--color-rule); }
:is(.cv-analyst, .cv-pw) .viz-top{ display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-md); }
:is(.cv-analyst, .cv-pw) .chip--key::before{ content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-inline-end: var(--space-xs); background: var(--k); vertical-align: 0; }
:is(.cv-analyst, .cv-pw) .chip--jer{ --k: var(--viz-jer); }
:is(.cv-analyst, .cv-pw) .chip--rg{ --k: var(--viz-rg); }
:is(.cv-analyst, .cv-pw) .chip--by{ --k: var(--viz-by); }
:is(.cv-analyst, .cv-pw) .chip--rlz{ --k: var(--viz-rlz); }
:is(.cv-analyst, .cv-pw) .viz-tip{ font-size: var(--text-sm); color: var(--color-ink-2); min-height: 1.6em; }
:is(.cv-analyst, .cv-pw) .viz-box{ position: relative; border-radius: 8px; }
:is(.cv-analyst, .cv-pw) .viz-box:focus-visible{ outline: 2px solid var(--color-focus); outline-offset: 4px; }
:is(.cv-analyst, .cv-pw) .viz{ direction: ltr; display: block; width: 100%; height: auto; overflow: visible; font-family: var(--font-body); }
:is(.cv-analyst, .cv-pw) .viz__grid line{ stroke: var(--color-rule); stroke-width: 1; }
:is(.cv-analyst, .cv-pw) .viz__grid text, :is(.cv-analyst, .cv-pw) .viz__x text{ fill: var(--color-muted); font-size: 12px; }
:is(.cv-analyst, .cv-pw) .viz__partial{ fill: var(--color-paper-2); opacity: 0.6; }
:is(.cv-analyst, .cv-pw) .viz__line{ fill: none; stroke: var(--c); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; transition: opacity var(--dur-short) var(--ease-out); }
:is(.cv-analyst, .cv-pw) .viz__line--part{ stroke-dasharray: 4 5; }
:is(.cv-analyst, .cv-pw) .viz__end{ fill: var(--c); stroke: var(--color-deep); stroke-width: 2; }
:is(.cv-analyst, .cv-pw) .viz__lab{ fill: var(--color-ink); font-size: 13px; }
:is(.cv-analyst, .cv-pw) .viz__s--jer{ --c: var(--viz-jer); }
:is(.cv-analyst, .cv-pw) .viz__s--rg{ --c: var(--viz-rg); }
:is(.cv-analyst, .cv-pw) .viz__s--by{ --c: var(--viz-by); }
:is(.cv-analyst, .cv-pw) .viz__s--rlz{ --c: var(--viz-rlz); }
:is(.cv-analyst, .cv-pw) .viz.is-focus .viz__s:not(.is-on){ opacity: 0.18; }
:is(.cv-analyst, .cv-pw) .js .viz:not(.is-drawn) .viz__line{ stroke-dasharray: 1400; stroke-dashoffset: 1400; }
:is(.cv-analyst, .cv-pw) .viz.is-drawn .viz__line:not(.viz__line--part){ transition: stroke-dashoffset 1600ms var(--ease-out), opacity var(--dur-short) var(--ease-out); stroke-dashoffset: 0; }
:is(.cv-analyst, .cv-pw) .viz__hover{ opacity: 0; pointer-events: none; }
:is(.cv-analyst, .cv-pw) .viz.is-hover .viz__hover{ opacity: 1; }
:is(.cv-analyst, .cv-pw) .viz__cross{ stroke: var(--color-ink-2); stroke-width: 1; }
:is(.cv-analyst, .cv-pw) .viz__dot{ stroke: var(--color-deep); stroke-width: 2; }
:is(.cv-analyst, .cv-pw) .viz__dot--jer{ fill: var(--viz-jer); }
:is(.cv-analyst, .cv-pw) .viz__dot--rg{ fill: var(--viz-rg); }
:is(.cv-analyst, .cv-pw) .viz__dot--by{ fill: var(--viz-by); }
:is(.cv-analyst, .cv-pw) .viz__dot--rlz{ fill: var(--viz-rlz); }
:is(.cv-analyst, .cv-pw) .viz__hit{ fill: transparent; cursor: crosshair; }
:is(.cv-analyst, .cv-pw) .viz-card{ color: var(--color-ink); position: absolute; top: 8px; z-index: 2; min-width: 190px; padding: var(--space-sm) var(--space-md); border-radius: 10px; background: var(--color-paper-3); border: var(--rule-hair) solid var(--color-rule-2); font-size: var(--text-sm); pointer-events: none; }
:is(.cv-analyst, .cv-pw) .viz-card[hidden]{ display: none; }
:is(.cv-analyst, .cv-pw) .viz-card b{ display: block; font-family: var(--font-display); font-weight: 300; font-size: var(--text-lg); margin-bottom: var(--space-2xs); }
:is(.cv-analyst, .cv-pw) .viz-card p{ display: flex; justify-content: space-between; gap: var(--space-md); }
:is(.cv-analyst, .cv-pw) .viz-card i{ font-style: normal; display: inline-flex; align-items: center; gap: var(--space-xs); color: var(--color-ink-2); }
:is(.cv-analyst, .cv-pw) .viz-card i::before{ content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--k); }
:is(.cv-analyst, .cv-pw) .viz-src{ font-size: var(--text-xs); color: var(--color-muted); max-width: 110ch; }
:is(.cv-analyst, .cv-pw) .viz-src a{ color: var(--color-ink-2); }
:is(.cv-analyst, .cv-pw) .viz-table summary{ min-height: 44px; display: inline-flex; align-items: center; cursor: pointer; color: var(--color-ink-2); text-decoration: underline; text-decoration-color: var(--color-accent); text-underline-offset: 0.3em; }
:is(.cv-analyst, .cv-pw) .viz-table__scroll{ overflow-x: auto; }
:is(.cv-analyst, .cv-pw) .viz-table table{ width: 100%; border-collapse: collapse; font-size: var(--text-sm); margin-top: var(--space-sm); }
:is(.cv-analyst, .cv-pw) .viz-table caption{ text-align: start; color: var(--color-muted); padding-bottom: var(--space-xs); }
:is(.cv-analyst, .cv-pw) .viz-table th, :is(.cv-analyst, .cv-pw) .viz-table td{ padding: var(--space-xs) var(--space-sm); border-bottom: var(--rule-hair) solid var(--color-rule); text-align: start; }
:is(.cv-analyst, .cv-pw) .viz-table td{ direction: ltr; text-align: end; }
:is(.cv-analyst, .cv-pw) .pulse{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gap-columns); margin-top: var(--space-2xl); }
:is(.cv-analyst, .cv-pw) .pulse__i{ display: grid; gap: var(--space-2xs); padding-top: var(--space-lg); border-top: 2px solid var(--k); }
:is(.cv-analyst, .cv-pw) .pulse__i--jer{ --k: var(--viz-jer); }
:is(.cv-analyst, .cv-pw) .pulse__i--rg{ --k: var(--viz-rg); }
:is(.cv-analyst, .cv-pw) .pulse__i--by{ --k: var(--viz-by); }
:is(.cv-analyst, .cv-pw) .pulse__i--rlz{ --k: var(--viz-rlz); }
:is(.cv-analyst, .cv-pw) .pulse__city{ font-size: var(--text-lg); }
:is(.cv-analyst, .cv-pw) .pulse__big{ font-family: var(--font-display); font-size: var(--text-figure); line-height: 1; justify-self: start; }
:is(.cv-analyst, .cv-pw) .pulse__what{ font-size: var(--text-sm); color: var(--color-muted); }
:is(.cv-analyst, .cv-pw) .pulse__now{ font-size: var(--text-sm); color: var(--color-ink-2); margin-top: var(--space-xs); }
@media (max-width: 80rem){:is(.cv-analyst, .cv-pw) .pulse{ grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-xl); }}
@media (max-width: 40rem){:is(.cv-analyst, .cv-pw) .viz-wrap, :is(.cv-analyst, .cv-pw) .stairs, :is(.cv-analyst, .cv-pw) .brief, :is(.cv-analyst, .cv-pw) .ask{ padding: var(--space-lg) var(--space-md); }:is(.cv-analyst, .cv-pw) .paths, :is(.cv-analyst, .cv-pw) .checks, :is(.cv-analyst, .cv-pw) .pulse{ grid-template-columns: minmax(0, 1fr); }:is(.cv-analyst, .cv-pw) .viz-box{ overflow-x: auto; }:is(.cv-analyst, .cv-pw) .viz{ min-width: 600px; }}
@media (prefers-reduced-motion: reduce){:is(.cv-analyst, .cv-pw) .js .viz:not(.is-drawn) .viz__line{ stroke-dasharray: none; stroke-dashoffset: 0; }:is(.cv-analyst, .cv-pw) .viz__line--part{ stroke-dasharray: 4 5; }}
:root{ --font-body: "Heebo", "Assistant", ui-sans-serif, system-ui, sans-serif; --bar-h: 72px; }
:is(.cv-analyst, .cv-pw) .poster, :is(.cv-analyst, .cv-pw) .scale__row strong, :is(.cv-analyst, .cv-pw) .pulse__big, :is(.cv-analyst, .cv-pw) .timeline time, :is(.cv-analyst, .cv-pw) .archive-sum{ font-weight: 300; letter-spacing: -0.02em; }
:is(.cv-analyst, .cv-pw) .fine{ font-size: var(--text-xs); color: var(--color-muted); line-height: 1.5; }
:is(.cv-analyst, .cv-pw) .prose .fine, :is(.cv-analyst, .cv-pw) .prose .hint, :is(.cv-analyst, .cv-pw) .prose .opt, :is(.cv-analyst, .cv-pw) .prose .field__err{ font-size: var(--text-xs); }
:is(.cv-analyst, .cv-pw) .prose .pform p:not(.fine):not(.hint):not(.form__note){ font-size: var(--text-md); }
:is(.cv-analyst, .cv-pw) .section__head{ margin-bottom: var(--space-xl); }
:is(.cv-analyst, .cv-pw) .door, :is(.cv-analyst, .cv-pw) .kcard, :is(.cv-analyst, .cv-pw) .tile, :is(.cv-analyst, .cv-pw) .place, :is(.cv-analyst, .cv-pw) .stairs, :is(.cv-analyst, .cv-pw) .viz-wrap, :is(.cv-analyst, .cv-pw) .brief, :is(.cv-analyst, .cv-pw) .ask, :is(.cv-analyst, .cv-pw) .pform, :is(.cv-analyst, .cv-pw) .join, :is(.cv-analyst, .cv-pw) .ai-card{ background: var(--color-paper-2); }
:is(.cv-analyst, .cv-pw) .viz-wrap{ border-color: var(--color-rule); }
:is(.cv-analyst, .cv-pw) .archive-top .chip, :is(.cv-analyst, .cv-pw) .chip{ background: var(--color-paper-2); }
:is(.cv-analyst, .cv-pw) .chip[aria-pressed="true"], :is(.cv-analyst, .cv-pw) .chip[aria-selected="true"]{ background: var(--color-ink); color: var(--color-paper-2); }
:is(.cv-analyst, .cv-pw) .seen{ display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-md); margin: var(--space-sm) 0 var(--space-md); padding: 0; list-style: none; }
:is(.cv-analyst, .cv-pw) .seen li{ font-size: var(--text-lg); font-weight: 600; color: var(--color-ink-2); }
:is(.cv-analyst, .cv-pw) .pwall{ list-style: none; margin: var(--space-md) 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: var(--space-md); }
:is(.cv-analyst, .cv-pw) .pwall--home{ margin: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
:is(.cv-analyst, .cv-pw) .pcard a{ display: flex; flex-direction: column; height: 100%; text-decoration: none; color: inherit; background: var(--color-paper-2); border: 1px solid var(--color-rule); border-radius: var(--radius-card); overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
:is(.cv-analyst, .cv-pw) .pcard a:hover{ transform: translateY(-3px); box-shadow: var(--shadow-soft); }
:is(.cv-analyst, .cv-pw) .pcard__pic{ position: relative; aspect-ratio: 16 / 9; background: var(--color-deep); overflow: hidden; }
:is(.cv-analyst, .cv-pw) .pcard__pic img{ width: 100%; height: 100%; object-fit: cover; display: block; }
:is(.cv-analyst, .cv-pw) .pcard__pic.is-off img{ display: none; }
:is(.cv-analyst, .cv-pw) .pcard__pic.is-off{ display: grid; place-items: center; background: var(--color-deep) url("img/art-waves-soft.svg") center / cover; }
:is(.cv-analyst, .cv-pw) .pcard__src{ position: absolute; inset-block-start: var(--space-xs); inset-inline-start: var(--space-xs); padding: var(--space-3xs) var(--space-xs); border-radius: 99px; background: var(--color-paper-2); color: var(--color-ink); font-size: var(--text-sm); font-weight: 600; }
:is(.cv-analyst, .cv-pw) .pcard__pic.is-off .pcard__src{ position: static; font-size: var(--text-xl); background: none; }
:is(.cv-analyst, .cv-pw) .pcard__body{ padding: var(--space-sm) var(--space-md) var(--space-md); display: flex; flex-direction: column; gap: var(--space-2xs); }
:is(.cv-analyst, .cv-pw) .pcard__meta{ font-size: var(--text-sm); color: var(--color-muted); }
:is(.cv-analyst, .cv-pw) .pcard h3{ font-size: var(--text-lg); line-height: 1.3; font-weight: 600; }
:is(.cv-analyst, .cv-pw) .pcard--big h3{ font-size: var(--text-md); }
:is(.cv-analyst, .cv-pw) .pcard p{ font-size: var(--text-sm); color: var(--color-ink-2); }
:is(.cv-analyst, .cv-pw) .pcard__tag{ align-self: start; font-size: var(--text-sm); color: var(--color-muted); border: 1px solid var(--color-rule-2); border-radius: 99px; padding: 0 var(--space-xs); }
:is(.cv-analyst, .cv-pw) .pcard[hidden]{ display: none; }
@media (max-width: 560px){:is(.cv-analyst, .cv-pw) .pwall--home{ grid-template-columns: minmax(0, 1fr); }}
:is(.cv-analyst, .cv-pw) .card, :is(.cv-analyst, .cv-pw) .s360__i, :is(.cv-analyst, .cv-pw) .kcard, :is(.cv-analyst, .cv-pw) .tile, :is(.cv-analyst, .cv-pw) .vol, :is(.cv-analyst, .cv-pw) .ipcard, :is(.cv-analyst, .cv-pw) .places > *, :is(.cv-analyst, .cv-pw) .deal{ border-radius: var(--radius-card); }
/* Shared chrome for every page, in the canvas's language: night, bone, stone and brass; Bellefair, Assistant, Bodoni. */
:root{--night:#0E1621;--bone:#F6F2EA;--stone:#E4DED2;--paper:#FBFAF7;--brass:#B8915A;--brass-ink:#8A6A2B;--olive:#5E6B5A;--ink:#26303D;--mute:#6A7280;--rule:#D9D1C2;--fog:#C9C2B4;--wa:#1F7A4D}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Assistant',Arial,sans-serif;background:var(--night);color:var(--paper);-webkit-font-smoothing:antialiased}
img{max-width:100%}
.cv-wrap{max-width:1360px;margin:0 auto;padding-inline:clamp(16px,4vw,56px);box-sizing:border-box}
.cv-skip{position:absolute;inset-inline-start:12px;top:-60px;z-index:60;background:var(--brass);color:var(--night);padding:10px 16px;font-weight:700}
.cv-skip:focus{top:12px}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}

/* header */
.cv-bar{position:sticky;top:0;z-index:30;background:var(--night);color:var(--paper);border-bottom:1px solid #1E2A3A}
.cv-bar__in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:88px}
.cv-logo img{height:54px;width:auto;display:block}
.cv-nav{display:flex;flex-wrap:wrap;gap:clamp(16px,2.2vw,34px);font-size:18px;font-weight:600;letter-spacing:.01em}
.cv-nav a{color:var(--paper);text-decoration:none;padding:8px 0;border-bottom:2px solid transparent;transition:border-color .2s,color .2s}
.cv-nav a:hover{color:#E2C799}
.cv-nav a:hover{border-bottom-color:var(--brass)}
.cv-nav a[aria-current]{color:var(--brass);border-bottom-color:var(--brass)}
.cv-tools{display:flex;align-items:center;gap:14px}
.cv-tel{color:var(--fog);text-decoration:none;font-size:15px}
.cv-cta{display:inline-flex;align-items:center;min-height:48px;padding:0 24px;font-size:16px;background:var(--brass);color:var(--night);font-weight:700;text-decoration:none}
.cv-cta:hover{background:#C9A36B}
.cv-burger{display:none;min-height:44px;padding:0 16px;background:none;color:var(--paper);border:1px solid #33435A;font:inherit;cursor:pointer}
.cv-crumb{background:var(--night);color:var(--fog);font-size:14.5px;border-bottom:1px solid #1E2A3A}
.cv-crumb .cv-wrap{display:flex;gap:10px;align-items:center;min-height:40px}
.cv-crumb a{color:var(--paper);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--brass)}
.cv-menu{border:0;padding:0;margin:0 0 0 auto;height:100vh;max-height:none;width:min(420px,100vw);background:var(--night);color:var(--paper)}
.cv-menu::backdrop{background:#0E1621B3}
.cv-menu__head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #1E2A3A}
.cv-menu__head a{color:var(--brass);font-weight:700}
.cv-menu__head button{background:none;border:1px solid #33435A;color:var(--paper);min-height:44px;padding:0 16px;font:inherit}
.cv-menu nav{display:flex;flex-direction:column;padding:12px 24px}
.cv-menu nav a{color:var(--paper);text-decoration:none;font-family:'Bellefair',serif;font-size:28px;padding:10px 0;border-bottom:1px solid #1E2A3A}
@media (max-width:1180px){.cv-nav{display:none}.cv-burger{display:inline-flex;align-items:center}}
@media (max-width:640px){.cv-tel{display:none}.cv-cta{display:none}}

/* footer */
.cv-foot{background:var(--night);color:var(--fog);border-top:1px solid #1E2A3A;padding:72px 0 120px;font-size:15px}
.cv-foot a{color:var(--paper);text-decoration:none}
.cv-foot a:hover{color:var(--brass)}
.cv-foot__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:48px}
.cv-foot__logo{height:64px;width:auto;margin-bottom:18px}
.cv-foot__top p{line-height:1.7;margin:0}
.cv-foot__cols{display:grid;grid-template-columns:repeat(4,minmax(0,auto));gap:28px 56px}
.cv-foot__cols div{display:flex;flex-direction:column;gap:8px}
.cv-foot__cols b{color:var(--brass);font-weight:600;margin-bottom:4px}
.cv-foot__row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:56px;padding-top:22px;border-top:1px solid #1E2A3A;font-size:13.5px}
.cv-foot__row p{margin:0;max-width:720px}
.cv-foot__row nav{display:flex;gap:18px;flex-wrap:wrap}
.cv-foot__row button{background:none;border:0;color:var(--paper);font:inherit;cursor:pointer;padding:0}
@media (max-width:820px){.cv-foot__cols{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* floating help, dock */
.cv-float{position:fixed;inset-block-end:20px;inset-inline-end:20px;z-index:35;display:flex;align-items:center;gap:10px}
.cv-float .ai-fab{position:static;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 18px;background:var(--paper);color:var(--night);border:1px solid var(--brass);font:600 15px 'Assistant',sans-serif;cursor:pointer;border-radius:0;box-shadow:none}
.cv-float .ai-fab__dot{width:9px;height:9px;border-radius:50%;background:var(--brass)}
.cv-wa{width:54px;height:54px;border-radius:50%;background:var(--wa);color:var(--paper);display:flex;align-items:center;justify-content:center}
.cv-dock{display:none}
@media (max-width:820px){
  .cv-float{inset-block-end:86px}
  .cv-float .ai-fab{display:none}
  .cv-dock{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;inset-inline:0;inset-block-end:0;z-index:36;background:var(--night);border-top:1px solid #1E2A3A}
  .cv-dock a{display:grid;place-items:center;min-height:58px;color:var(--paper);text-decoration:none;font-size:14px}
  .cv-dock .cv-dock__go{background:var(--brass);color:var(--night);font-weight:700}
}

/* the preview never sends: forms say so */
.form__note{font-family:'Assistant',sans-serif;font-size:15px;margin:6px 0 0;min-height:1.4em}
.form__note b{color:inherit}
[aria-invalid="true"]{border-bottom-color:#B3261E !important}

/* AI assistant and cookie notice */
dialog.ai{border:0;padding:0;width:min(440px,calc(100vw - 24px));max-height:min(640px,calc(100vh - 24px));margin:auto 20px 20px auto;background:var(--paper);color:var(--night);box-shadow:0 30px 80px #0E162166}
dialog.ai::backdrop{background:#0E162133}
.ai__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px;background:var(--night);color:var(--paper)}
.ai__h{font-family:'Bellefair',serif;font-size:24px;margin:0}
.ai__sub{margin:2px 0 0;font-size:13.5px;color:var(--fog)}
.ai__x{background:none;border:1px solid #33435A;color:var(--paper);width:40px;height:40px;font-size:20px;cursor:pointer}
.ai__log{padding:16px 20px;overflow:auto;max-height:300px;display:flex;flex-direction:column;gap:10px;font-size:15.5px;line-height:1.6}
.msg p{margin:0}.msg--bot{background:var(--bone);padding:12px 14px}.msg--me{align-self:flex-start;background:var(--night);color:var(--paper);padding:10px 14px}
.ai__chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 20px 10px}
.ai__chips .chip{font:14px 'Assistant',sans-serif;padding:7px 12px;border:1px solid var(--rule);background:none;color:var(--night);cursor:pointer;border-radius:999px}
.ai__form{padding:12px 20px 18px;border-top:1px solid var(--rule)}
.ai__form textarea{width:100%;box-sizing:border-box;font:16px 'Assistant',sans-serif;padding:10px;border:1px solid var(--rule);background:#fffefb;resize:vertical}
.ai__row{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}
.ai__row .btn{min-height:44px;padding:0 18px;font:700 15px 'Assistant',sans-serif;border:1px solid var(--night);background:none;color:var(--night);cursor:pointer}
.ai__row .btn--primary{background:var(--brass);border-color:var(--brass)}
.ai__note{font-size:12.5px;color:var(--mute);margin:8px 0 0}
.ai__note a{color:var(--brass-ink)}
.cookie{position:fixed;inset-inline:16px;inset-block-end:16px;z-index:40;max-width:760px;margin-inline:auto;display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:16px 18px;background:var(--paper);color:var(--night);box-shadow:0 20px 60px #0E162155;font-size:14.5px}
.cookie[hidden]{display:none}
.cookie p{margin:0;flex:1 1 320px}
.cookie__btns{display:flex;gap:8px}
.cookie .btn{min-height:44px;padding:0 16px;font:700 14.5px 'Assistant',sans-serif;border:1px solid var(--night);background:none;color:var(--night);cursor:pointer}
.visually-hidden{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* developers: clients, deal and the market analyst, in the canvas voice */
.cv-clients{background:var(--paper);color:var(--night);padding:72px 0}
.clients{background:none;padding:0}
.clients__h{font-family:'Bellefair',serif;font-size:clamp(34px,3.6vw,56px);font-weight:400;margin:0 0 30px;text-align:start;color:var(--night)}
.clients__logos{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:28px 64px}
.clients__logos img{height:46px;width:auto;opacity:.9}
.clients__names{list-style:none;margin:30px 0 0;padding:24px 0 0;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:8px 28px;font-family:'Bellefair',serif;font-size:22px;color:var(--ink)}
.cv-deal{background:var(--brass);color:var(--night)}
.cv-deal__in{display:flex;flex-wrap:wrap;gap:24px 64px;align-items:center;padding-top:90px;padding-bottom:90px}
.cv-deal__fig{font-family:'Bodoni Moda',serif;font-size:clamp(90px,11vw,170px);line-height:.9;margin:0}
.cv-deal__in>div{flex:1 1 420px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.cv-deal h2{font-size:clamp(36px,3.8vw,58px)}
.cv-analyst{background:var(--bone);color:var(--night)}
.cv-analyst .container{max-width:1360px;margin:0 auto;padding:110px clamp(16px,4vw,56px);box-sizing:border-box}
.cv-analyst h2{font-family:'Bellefair',serif;font-weight:400;font-size:clamp(38px,4.2vw,64px);line-height:1.1;margin:0 0 14px}
.cv-analyst .lead{font-size:19px;line-height:1.75;color:var(--ink);max-width:760px}
.cv-analyst .section__head{display:grid;gap:10px;margin-bottom:32px}
.cv-analyst .viz-wrap{background:var(--paper);padding:28px;border:1px solid var(--rule)}
.cv-analyst .gets{margin-top:28px;padding:30px;background:var(--paper);border:1px solid var(--rule)}
.cv-analyst .gets h3{font-family:'Bellefair',serif;font-weight:400;font-size:30px;margin:0 0 20px}
.cv-analyst .gets ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.cv-analyst .gets li{display:flex;flex-direction:column;gap:6px;padding-top:14px;border-top:2px solid var(--brass)}
.cv-analyst .gets b{font-size:18px}
.cv-analyst .gets span{color:var(--ink);font-size:15.5px;line-height:1.55}
.cv-analyst .sec-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.cv-analyst .btn{display:inline-flex;align-items:center;min-height:54px;padding:0 28px;font:700 16px 'Assistant',sans-serif;border:1px solid var(--night);color:var(--night);text-decoration:none;background:none;cursor:pointer;border-radius:0}
.cv-analyst .btn--primary{background:var(--night);color:var(--paper)}
@media (max-width:900px){.cv-analyst .gets ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cv-analyst .gets ol{grid-template-columns:minmax(0,1fr)}}

/* the press wall on the media page */
.cv-pw{background:var(--bone);color:var(--night);padding:110px 0}
.cv-pw .container{max-width:1360px;margin:0 auto;padding-inline:clamp(16px,4vw,56px);box-sizing:border-box}
.cv-pw h2{font-family:'Bellefair',serif;font-weight:400;font-size:clamp(38px,4.2vw,64px);margin:0 0 10px}
.cv-pw .lead{font-size:19px;color:var(--ink);max-width:760px}
.cv-pw .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.cv-pw .chip{font:15px 'Assistant',sans-serif;padding:10px 18px;border:1px solid var(--rule);border-radius:999px;background:transparent;color:var(--night);cursor:pointer}
.cv-pw .chip[aria-pressed="true"]{background:var(--night);color:var(--bone);border-color:var(--night)}
.cv-pw .pcard a{background:var(--paper);border:1px solid var(--rule);border-radius:0;color:var(--night)}
.cv-pw .pcard h3{font-family:'Bellefair',serif;font-weight:400;font-size:24px;color:var(--night)}
.cv-pw .pcard p{color:var(--ink)}
.cv-pw .pcard__pic.is-off{background:var(--night)}
.cv-pw .pcard__pic.is-off .pcard__src{color:var(--bone);font-family:'Bellefair',serif;font-size:30px}
.cv-pw .fine{font-size:13.5px;color:var(--mute);margin-top:24px}
/* contrast: brass text on light grounds turns to its ink shade; small text on olive and brass reads in full */
section[style*="background:var(--brass)"] .word, section[style*="background:var(--brass)"] .be{color:var(--night) !important;-webkit-text-fill-color:var(--night) !important}
[style*="background:var(--olive)"] .small, [style*="background:var(--olive)"] [style*="color:#E8DCCB"]{color:#F6F2EA !important}
[style*="background:var(--brass)"] .small{color:var(--night) !important}
.cookie a, main p a{text-decoration:underline;text-underline-offset:3px}

.clients__logos img.sq{height:74px}
.logos img[src*="lg-shalom"],.logos img[src*="lg-kardan"],.logos img[src*="lg-hogi"]{max-height:80px}

/* BDI strip, above every footer */
.cv-bdi{background:var(--stone);color:var(--night);border-top:1px solid var(--rule)}
.cv-bdi__in{display:flex;flex-wrap:wrap;align-items:center;gap:18px 40px;padding-top:30px;padding-bottom:30px}
.cv-bdi__mark{display:flex;align-items:baseline;gap:10px;font-family:'Bodoni Moda',serif}
.cv-bdi__mark span{font-size:22px;letter-spacing:.02em}
.cv-bdi__mark b{font-size:44px;font-weight:500;line-height:1;color:#7A5A1E}
.cv-bdi__say{flex:1 1 320px;margin:0;font-family:'Bellefair',serif;font-size:clamp(20px,1.8vw,26px);line-height:1.35}
.cv-bdi__years{display:flex;gap:8px;list-style:none;margin:0;padding:0}
.cv-bdi__years li{min-width:58px;text-align:center;padding:8px 10px;border:1px solid var(--rule);font-size:15px;font-variant-numeric:tabular-nums}
.cv-bdi__years li[aria-current]{background:var(--night);color:var(--bone);border-color:var(--night)}
.cv-bdi__go{color:var(--night);font-weight:600;text-underline-offset:4px}
/* the developers' wall: equal cells, one tone, optical sizes */
.cv-clients .clients__logos{display:flex;flex-wrap:wrap;justify-content:center;gap:0}
.cv-clients .clients__logos li{flex:0 0 clamp(150px,15.5%,210px);display:flex;align-items:center;justify-content:center;min-height:128px;padding:22px;box-sizing:border-box;border:1px solid var(--rule);margin:0 -1px -1px 0}
.cv-clients .clients__logos img{max-width:86%;opacity:.8;transition:opacity .25s}
.cv-clients .clients__logos li:hover img{opacity:1}

.cv-analyst .gets--first{margin:0 0 28px}

/* the 4 domains: one clear headline */
.dom-head{display:flex;align-items:center;gap:clamp(18px,2.6vw,40px);margin:clamp(30px,4vw,60px) 0 40px}
.dom-num{font-family:'Bodoni Moda',serif;font-size:clamp(130px,14vw,210px);line-height:.8;color:var(--brass)}
.dom-t{font-family:'Bellefair',serif;font-weight:400;font-size:clamp(46px,5vw,78px);line-height:1;color:var(--paper);margin:0}
.dom-s{font-family:'Bellefair',serif;font-size:clamp(24px,2.2vw,34px);line-height:1.3;color:#D9D3C7;margin:10px 0 0}

/* poster rails: arrows, a progress line, edge fade; no raw scrollbar */
.rail-wrap{position:relative}
.posters{scrollbar-width:none;scroll-behavior:smooth;cursor:grab}
.posters::-webkit-scrollbar{display:none}
.posters.is-drag{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none}
.rail-ctl{display:flex;align-items:center;gap:18px;margin-top:22px}
.rail-ctl button{width:54px;height:54px;border-radius:50%;border:1px solid currentColor;background:transparent;color:inherit;font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s,color .2s,opacity .2s}
.rail-ctl button:hover:not(:disabled){background:var(--night);color:var(--paper)}
.rail-ctl button:disabled{opacity:.3;cursor:default}
.rail-bar{flex:1;height:2px;background:#0E162126;position:relative;overflow:hidden}
.rail-bar i{position:absolute;inset-block:0;inset-inline-start:0;background:var(--brass);width:20%;transition:width .25s,inset-inline-start .25s}
.rail-count{font-family:'Bodoni Moda',serif;font-size:20px;min-width:70px;text-align:center;font-variant-numeric:tabular-nums}
.rail-hint{font-size:14px;opacity:.75}
@media (max-width:820px){.rail-ctl button{width:46px;height:46px}.rail-hint{display:none}}
.cv-nav a.cv-nav__hot{color:#0E1621;background:var(--brass);border:0;border-radius:999px;padding:8px 18px;display:inline-flex;align-items:center;gap:8px}
.cv-nav a.cv-nav__hot::before{content:"";width:7px;height:7px;border-radius:50%;background:#0E1621;box-shadow:0 0 0 3px rgba(14,22,33,.18)}
.cv-nav a.cv-nav__hot:hover,.cv-nav a.cv-nav__hot[aria-current]{color:#0E1621;background:#D4B27A;border:0}
.cv-menu nav a.cv-nav__hot{color:var(--brass)}
/* ---- QA round: mobile, tap targets, anchors, forms ---- */
html{scroll-padding-top:100px}
main p,main li,article p,article li,.doc p,.doc li{overflow-wrap:anywhere}
.cc-form{display:grid;gap:14px}
.cc-form label{font-weight:700;font-size:15px}
.cc-form input,.cc-form select,.cc-form textarea{font:18px 'Assistant',sans-serif;min-height:50px;border:none;border-bottom:1px solid var(--night,#0E1621);background:transparent;color:inherit;width:100%;border-radius:0}
.cc-form .chk{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:15px;line-height:1.5}
.cc-form .chk input{width:22px;height:22px;min-height:0;flex:none;margin-top:2px}
.cc-form button{min-height:54px;background:var(--night,#0E1621);color:var(--paper,#F6F2EA);border:0;font:700 17px 'Assistant',sans-serif;cursor:pointer;border-radius:999px}
.cc-form .fine{font-size:14px;margin:0}
.cv-foot__cols a,.cv-bdi__go,.cv-crumb a{display:inline-flex;align-items:center;min-height:44px}
summary{padding:12px 0;cursor:pointer}
input[type=radio],input[type=checkbox]{width:20px;height:20px;accent-color:var(--brass,#B8915A)}
@media (max-width:1180px){
  body{padding-bottom:140px}
  #cookie{bottom:calc(72px + env(safe-area-inset-bottom,0px)) !important}
}
@media (max-width:420px){#cookie p{font-size:14px}}
#cookie a{color:inherit;text-decoration:underline}
.cv-float .ai-fab{display:inline-flex;align-items:center;gap:10px;padding:6px 18px 6px 8px;border-radius:999px;min-height:52px}
.ai-fab__av{width:40px;height:40px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #B8915A}
.ai__head{display:flex;align-items:center;gap:12px}
.ai__head>div{flex:1}
.ai__av{width:56px;height:56px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #B8915A;flex:none}
.msg--cav{font-size:12.5px;opacity:.8;margin-top:-4px}
.msg--cav p{margin:0}
dialog.ai[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;overflow:hidden}
dialog.ai .ai__log{max-height:none;min-height:120px}
@media (max-width:600px){
  dialog.ai{margin:auto 12px 12px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
  .ai__chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:12px}
  .ai__chips .chip{white-space:nowrap;flex:none}
  .ai__note{font-size:12px}
}
[hidden]{display:none !important}
.cv-dock__ai{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:58px;background:none;border:0;color:var(--paper);font:600 12.5px 'Assistant',sans-serif;cursor:pointer;padding:4px 0}
.cv-dock__ai img{width:30px;height:30px;border-radius:50%;box-shadow:0 0 0 2px #B8915A}
form[data-form]{position:relative}.hp{position:absolute !important;top:0;right:0;width:1px !important;height:1px !important;min-height:0 !important;padding:0 !important;border:0 !important;opacity:0;overflow:hidden;pointer-events:none}
/* legible display numerals: lower optical size thickens Bodoni hairlines (the "4" diagonal) */
.fig,.dom-num,.cv-deal__fig,.cv-bdi__mark,.rail-count,.lb-toc b{font-optical-sizing:none!important;font-variation-settings:'opsz' 6,'wght' 700!important;font-weight:700!important}
/* native dropdown lists render on white: force dark readable option text everywhere */
select option,select optgroup{color:#0E1621!important;background-color:#FFFFFF!important}
select option:checked{background-color:#E9E1D2!important;color:#0E1621!important}
select{color-scheme:light}
/* brass on light backgrounds: deepen for contrast */
.proof .fig,.proof .lat.fig{color:#8A6A2B}
.gl-wa,.gl-ic--wa{background:#16743D!important}
.pj-ask select,#pa-p{color:#0E1621!important;background-color:#FFFFFF!important}
/* captions laid over images: always light text on a strong dark gradient */
.poster .cap,.res .cap{color:#F6F2EA!important;background:linear-gradient(to top,rgba(14,22,33,.95) 0,rgba(14,22,33,.75) 55%,rgba(14,22,33,0) 100%)!important;padding-top:56px!important;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.poster .cap *,.res .cap *{color:#F6F2EA!important}
.poster .cap>.small:first-child,.res .cap>.small:first-child{color:#E2C799!important}
.posters[data-flow-auto]{scroll-snap-type:none!important;scroll-behavior:auto!important}
.posters[data-flow-auto] .poster img{transition:transform 6s ease}
.posters[data-flow-auto] .poster:hover img{transform:scale(1.06)}
.flow-btn{width:44px;height:44px;border-radius:50%;border:1px solid currentColor;background:transparent;color:inherit;display:inline-grid;place-items:center;cursor:pointer;margin-inline-end:10px}
.flow-btn:focus-visible{outline:3px solid #B8915A;outline-offset:2px}
/* mobile QA: comfortable tap targets and no clipped wordmarks */
@media (max-width:820px){
 .cv-foot__row nav a,.cv-foot__row nav button,.cv-foot__cols a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
 input[type=checkbox],input[type=radio]{width:24px!important;height:24px!important;min-width:24px}
 .lng{min-height:44px!important;padding:0 12px!important}
 .pj-card__go a{display:inline-flex;align-items:center;min-height:44px}
 .gl-www a,.gl-guide a{min-height:44px}
 div[dir=ltr]>.word{font-size:17vw!important;white-space:nowrap}
 div[dir=ltr]>.be{font-size:19vw!important}
 .pcard .tag,.pcard__tag,.clip .tag{font-size:12.5px}
 main a.btn,main .btn{min-height:48px}
}

@media (max-width:820px){.gl-langs,.langs-row,nav[aria-label=Language]{flex-wrap:wrap!important;row-gap:6px}}
@media (max-width:820px){
 div[role=group][aria-label=Language]{flex-wrap:wrap!important;gap:4px 10px!important;max-width:100%}
 .gl-contact{flex-wrap:wrap;gap:8px}
 .gl-contact .gl-ic span{display:none}
 .gl-contact .gl-ic{width:44px;height:44px;padding:0!important;justify-content:center}
 .gl-ic--guide{width:auto!important;padding:0 14px!important}
}
/* mobile: one set of quick actions (the bottom dock); floats trimmed so content stays visible */
@media (max-width:820px){
 .cv-float .ai-fab{display:none!important}
 .cv-float{bottom:calc(76px + env(safe-area-inset-bottom))!important}
 .cv-float .cv-wa{width:48px!important;height:48px!important}
 #a11y-btn{width:44px!important;height:44px!important;bottom:calc(76px + env(safe-area-inset-bottom))!important}
 #a11y-panel{bottom:calc(130px + env(safe-area-inset-bottom))!important}
 /* Global header: compact */
 header .gl-brand img{height:42px!important}
 header div[role=group][aria-label=Language]{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;gap:2px 14px!important;width:100%;order:3}
 header div[role=group][aria-label=Language]::-webkit-scrollbar{display:none}
 header .gl-contact .btn{display:none!important}
 header .gl-contact{order:2}
}
@media (max-width:820px){ section[style*="min-height:800px"],section[style*="min-height:800px"]>.wrap{min-height:0!important;height:auto!important} section[style*="min-height:800px"]>.wrap{padding-top:90px!important;padding-bottom:40px!important} }
