/* Public Sector — page layout and set pieces only. Every reusable component lives in base.css.
   Set pieces: the region route map (Paris → UAE), the Gov AI Compliant seal (the Pertimm
   hexagon in four layers) and the procurement evidence checklist. */

/* ---------------------------------------------------------------- Hero */
.ps-hero .page-hero__title { max-width: 15.5ch; }
.ps-hero__note { font-size: var(--step-0); line-height: 1.6; }
@media (min-width: 1080px) {
  .ps-hero .page-hero__inner { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-m); }
  .ps-hero .page-hero__inner > * { grid-column: 1 / -1; justify-self: start; }
  .ps-hero .page-hero__lead { grid-column: 1 / span 6; }
  .ps-hero .ps-hero__note {
    grid-column: 7 / span 5; align-self: end;
    padding-left: var(--space-m); border-left: 1px solid var(--line-2);
  }
  .ps-hero .ps-index { justify-self: stretch; }
}

/* "On this page": .hero-index (base.css), eight chapters in one row on wide screens */
.ps-index { --index-cols: 8; }

/* ------------------------------------------------------- Capabilities */
/* .feature-strip--stacked (base.css) */
.ps-caps { padding-block: clamp(2.5rem, 2rem + 2.4vw, 4.25rem); }

/* ----------------------------------------------- Region: route map */
.ps-region { overflow-x: clip; }
.ps-region__grid { display: grid; gap: var(--space-xl) var(--space-m); }
@media (min-width: 1000px) {
  .ps-region__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; }
  .ps-map { grid-column: 1 / span 7; }
  .ps-region__side { grid-column: 9 / -1; }
}
.ps-map { position: relative; margin: 0; }
.ps-map__canvas { position: relative; aspect-ratio: 760 / 653.5; }
.ps-map__canvas::before {           /* the light pooled around the route */
  content: ""; position: absolute; inset: 10% 0 0 20%; z-index: -1; pointer-events: none;
  background:
    radial-gradient(34% 30% at 82% 70%, rgb(166 140 255 / .16), transparent 70%),
    radial-gradient(26% 24% at 8% 18%, rgb(138 212 255 / .1), transparent 70%);
}
.ps-map__dots, .ps-map__route { position: absolute; inset: 0; width: 100%; height: 100%; }
.ps-map__route { overflow: visible; }
.ps-map__arc-glow { fill: none; stroke: #a68cff; stroke-opacity: .32; stroke-width: 7; filter: blur(5px); }
.ps-map__arc { fill: none; stroke: url(#ps-route-g); stroke-width: 1.8; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 0; }
.ps-map__pulse { fill: none; stroke: #fff; stroke-width: 2.6; stroke-linecap: round; stroke-dasharray: .07 1.2; stroke-dashoffset: .07; opacity: 0; }
.ps-map__core { fill: #fff; }
.ps-map__halo { fill: rgb(166 140 255 / .2); stroke: rgb(200 184 255 / .7); stroke-width: 1; }
.ps-map__node--hq .ps-map__halo { fill: rgb(138 212 255 / .16); stroke: rgb(170 220 255 / .75); }
.ps-map__node--end .ps-map__halo { fill: rgb(228 156 242 / .18); stroke: rgb(236 190 246 / .75); }
.ps-map__ping { fill: none; stroke: rgb(240 237 247 / .5); stroke-width: 1; opacity: 0; transform-box: fill-box; transform-origin: center; }

.ps-map__label {
  position: absolute; left: var(--x); top: var(--y); z-index: 1;
  font-size: var(--step--2); line-height: 1.25; color: var(--fg-2); white-space: nowrap; pointer-events: none;
  text-shadow: 0 0 2px var(--ink), 0 0 6px var(--ink), 0 0 12px var(--ink);
}
.ps-map__label--region { translate: -50% -50%; color: var(--fg-3); letter-spacing: .16em; text-transform: uppercase; font-weight: 540; font-size: .75rem; }
.ps-map__label--city { display: grid; gap: .05rem; }
.ps-map__label--city b { color: var(--fg); font-weight: 600; font-size: var(--step--1); letter-spacing: -.005em; }
.ps-map__label--paris { translate: -50% calc(-100% - 1.1rem); text-align: center; }
.ps-map__label--uae { translate: .95rem -50%; }
.ps-map__caption { margin-top: var(--space-s); }

/* Route: drawn once when the map arrives, then a slow light pulse travels while in view */
@media (prefers-reduced-motion: no-preference) {
  .js .ps-map .ps-map__arc { transition: stroke-dashoffset 2.4s var(--ease-in-out) .25s; }
  .js .ps-map .ps-map__arc-glow { transition: opacity 1.2s var(--ease-out) 1.6s; }
  .js .ps-map:not(.was-inview) .ps-map__arc { stroke-dashoffset: 1; }
  .js .ps-map:not(.was-inview) .ps-map__arc-glow { opacity: 0; }
  .js .ps-map .ps-map__node--end { transition: opacity .8s var(--ease-out) 2.2s; }
  .js .ps-map:not(.was-inview) .ps-map__node--end { opacity: 0; }
  .js .ps-map.is-inview .ps-map__pulse { animation: ps-pulse 6.5s var(--ease-in-out) 2.8s infinite; }
  .js .ps-map.is-inview .ps-map__ping { animation: ps-ping 3.2s var(--ease-out) 1s infinite; }
  .js .ps-map.is-inview .ps-map__node--end .ps-map__ping { animation-delay: 2.6s; }
}
@keyframes ps-pulse {
  0% { stroke-dashoffset: .07; opacity: 0; }
  6% { opacity: 1; }
  55% { stroke-dashoffset: -1; opacity: 1; }
  58%, 100% { stroke-dashoffset: -1; opacity: 0; }
}
@keyframes ps-ping {
  0% { opacity: .9; transform: scale(.6); }
  70%, 100% { opacity: 0; transform: scale(2.4); }
}

.ps-region__side { display: grid; gap: var(--space-l); align-content: start; }
.ps-region__media { aspect-ratio: 2 / 1; }
.ps-pillars { border-top: 1px solid var(--line-2); }
.ps-pillar { display: grid; gap: .35rem; align-content: start; padding-block: 1.1rem 1.25rem; border-bottom: 1px solid var(--line); }
.ps-pillar__key { font-size: var(--step--2); color: var(--fg-3); letter-spacing: .02em; }
.ps-pillar__key span { color: var(--accent-text); }
.ps-pillar__title { font-size: var(--step-1); letter-spacing: -.014em; line-height: 1.25; }
.ps-pillar__text { color: var(--fg-2); max-width: 44ch; }
@media (min-width: 640px) and (max-width: 999px) {
  .ps-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 1.5rem; }
}

/* ----------------------------------------------- Gov AI Compliant seal */
.ps-gov { overflow: clip; }
.ps-gov__grid { display: grid; gap: var(--space-xl); align-items: center; }
@media (min-width: 1000px) {
  .ps-gov__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-m); }
  .ps-gov__copy { grid-column: 7 / -1; grid-row: 1; }
  .ps-seal { grid-column: 1 / span 6; grid-row: 1; }
}
.ps-gov__copy { display: grid; gap: var(--space-m); justify-items: start; }
.ps-gov__title { font-size: var(--step-4); line-height: 1; letter-spacing: var(--track-h2); font-weight: 540; max-width: 16ch; }
.ps-gov__title em { font-weight: 330; }
.ps-gov__lead { max-width: 44ch; }

.ps-values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-m); width: 100%; margin-top: .25rem; }
.ps-value {
  position: relative; display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .3rem .9rem; align-content: start;
  padding-block: 1.1rem 1.3rem; border-top: 1px solid var(--line-2);
}
.ps-value::before {
  content: ""; position: absolute; left: 0; top: -1px; height: 1px; width: 2.5rem;
  background: var(--spectrum); transform: scaleX(0); transform-origin: left; transition: transform var(--dur-3) var(--ease-out);
}
.ps-value.is-lit::before { transform: scaleX(1); }
.ps-value__mini { grid-row: span 2; width: 2rem; height: 2rem; margin-top: -.1rem; }
.ps-value__mini path { fill: none; stroke: rgb(200 210 255 / .28); stroke-width: 1; }
.ps-value__mini path.is-on { stroke: url(#g-spectrum); stroke-width: 1.6; }
.ps-value__title { font-size: var(--step-1); letter-spacing: -.012em; line-height: 1.25; }
.ps-value__text { color: var(--fg-2); }
.ps-gov__note {
  display: flex; gap: .7rem; align-items: flex-start; max-width: 52ch;
  padding-top: var(--space-s); font-size: var(--step--1); line-height: 1.5; color: var(--fg-2);
}
.ps-gov__note svg { width: 1rem; height: 1rem; flex: none; margin-top: .15rem; color: var(--accent-text); }
@media (max-width: 599px) {
  .ps-values { grid-template-columns: 1fr; }
}

.ps-seal { position: relative; width: 100%; max-width: 36rem; justify-self: center; }
.ps-seal::before {                 /* the prism light behind the emblem */
  content: ""; position: absolute; inset: 8%; z-index: -1; pointer-events: none;
  background: radial-gradient(closest-side, rgb(40 52 120 / .55), transparent 75%);
}
.seal__svg { width: 100%; height: auto; overflow: visible; }
.seal__frame { fill: rgb(240 237 247 / .022); }
.seal__frame-line { fill: none; stroke: rgb(200 210 255 / .3); stroke-width: 1; }
.seal__frame-line--in { stroke: rgb(200 210 255 / .16); }
.seal__ticks { fill: none; stroke: rgb(200 210 255 / .32); stroke-width: 1; }
.seal__rays { fill: none; stroke: rgb(230 225 255 / .16); stroke-width: 1; stroke-dasharray: 2 5; }
.seal__ring { fill: rgb(166 140 255 / .028); stroke: rgb(200 210 255 / .34); stroke-width: 1.2; stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke .5s, stroke-width .5s, fill .5s; }
.seal__verts circle { fill: rgb(200 210 255 / .5); transition: fill .5s; }
.seal__label, .seal__num { font-family: var(--font-sans); font-size: 10.5px; font-weight: 600; letter-spacing: .2em; transition: fill .5s; }
.seal__label { fill: #9aa0b8; }
.seal__num { fill: #6f7590; letter-spacing: .12em; }
.seal__legend text { font-family: var(--font-sans); font-size: 11px; font-weight: 560; letter-spacing: .26em; text-transform: uppercase; fill: #b4b7c9; }
.seal__core { fill: #06122d; stroke: rgb(200 190 255 / .45); stroke-width: 1; }
.seal__mark { filter: drop-shadow(0 0 1px rgb(200 190 255 / .6)) drop-shadow(0 0 14px rgb(166 140 255 / .45)); }
.seal__glow { opacity: .9; }

/* one layer lit: on hover of its value, and in sequence when the seal first arrives */
.ps-seal[data-active] .seal__layer .seal__ring { stroke: rgb(200 210 255 / .2); }
.ps-seal[data-active="1"] .seal__layer[data-layer="1"] .seal__ring,
.ps-seal[data-active="2"] .seal__layer[data-layer="2"] .seal__ring,
.ps-seal[data-active="3"] .seal__layer[data-layer="3"] .seal__ring,
.ps-seal[data-active="4"] .seal__layer[data-layer="4"] .seal__ring {
  stroke: url(#seal-spectrum); stroke-width: 2.2; fill: rgb(166 140 255 / .07);
  filter: drop-shadow(0 0 8px rgb(166 140 255 / .55));
}
.ps-seal[data-active="1"] .seal__layer[data-layer="1"] :is(.seal__label, .seal__num),
.ps-seal[data-active="2"] .seal__layer[data-layer="2"] :is(.seal__label, .seal__num),
.ps-seal[data-active="3"] .seal__layer[data-layer="3"] :is(.seal__label, .seal__num),
.ps-seal[data-active="4"] .seal__layer[data-layer="4"] :is(.seal__label, .seal__num) { fill: #f0edf7; }
.ps-seal[data-active="1"] .seal__layer[data-layer="1"] .seal__verts circle,
.ps-seal[data-active="2"] .seal__layer[data-layer="2"] .seal__verts circle,
.ps-seal[data-active="3"] .seal__layer[data-layer="3"] .seal__verts circle,
.ps-seal[data-active="4"] .seal__layer[data-layer="4"] .seal__verts circle { fill: #fff; }

/* arrival: layers draw from the core outwards (JS adds .is-sealed once in view) */
@media (prefers-reduced-motion: no-preference) {
  .js .ps-seal .seal__ring { transition: stroke-dashoffset 1.3s var(--ease-out) calc(var(--n) * .28s), stroke .5s, stroke-width .5s, fill .5s; }
  .js .ps-seal .seal__label, .js .ps-seal .seal__num, .js .ps-seal .seal__verts { transition: opacity .8s var(--ease-out) calc(var(--n) * .28s + .5s), fill .5s; }
  .js .ps-seal .seal__legend, .js .ps-seal .seal__ticks { transition: opacity 1.2s var(--ease-out) 1.4s; }
  .js .ps-seal .seal__mark, .js .ps-seal .seal__glow { transition: opacity 1s var(--ease-out), transform 1.4s var(--ease-out); transform-box: fill-box; transform-origin: center; }
  .js .ps-seal:not(.is-sealed) .seal__ring { stroke-dashoffset: 1; }
  .js .ps-seal:not(.is-sealed) :is(.seal__label, .seal__num, .seal__verts, .seal__legend, .seal__ticks) { opacity: 0; }
  .js .ps-seal:not(.is-sealed) .seal__glow { opacity: 0; transform: scale(.7); }
  .js .ps-seal:not(.is-sealed) .seal__mark { opacity: 0; transform: scale(.88); }
}

/* ----------------------------------------------- Relevant experience */
.ps-exp__grid { display: grid; gap: var(--space-xl) var(--space-m); align-items: center; }
@media (min-width: 1000px) {
  .ps-exp__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); column-gap: var(--space-2xl); }
}
.ps-exp__head { display: grid; gap: var(--space-s); }
.ps-record {
  --cut: 22px;
  position: relative; isolation: isolate; overflow: hidden; display: grid; gap: 1rem;
  padding: clamp(1.5rem, 1rem + 2.4vw, 3.25rem);
  background:
    radial-gradient(70% 90% at 100% 0%, rgb(40 52 120 / .45), transparent 70%),
    var(--surface);
  clip-path: var(--bevel);
  box-shadow: inset 0 0 0 1px var(--line-2);
}
.ps-record::before { content: ""; position: absolute; left: 0; top: 0; width: 5rem; height: 1px; background: var(--spectrum); box-shadow: 0 0 12px var(--glow); }
.ps-record::after {                /* faint hexagonal lattice, a dossier watermark */
  content: ""; position: absolute; right: -2rem; top: -2rem; width: 16rem; aspect-ratio: 1; z-index: -1; pointer-events: none; opacity: .5;
  background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'><g fill='none' stroke='%23c8d2ff' stroke-opacity='.16'><path d='M60 6 106.8 33v54L60 114 13.2 87V33z'/><path d='M60 24 91.2 42v36L60 96 28.8 78V42z'/><path d='M60 42 75.6 51v18L60 78 44.4 69V51z'/></g></svg>") center / contain no-repeat;
}
.ps-record__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem 1rem; }
.ps-record__eyebrow { font-size: var(--step--1); color: var(--accent-text); font-weight: 560; }
.ps-record__flag { display: inline-flex; align-items: center; gap: .5rem; font-size: var(--step--2); color: var(--fg-2); padding: .25rem .6rem; border: 1px solid var(--line-2); border-radius: var(--radius-xs); }
.ps-record__title { font-size: var(--step-4); line-height: .98; letter-spacing: var(--track-h2); font-weight: 540; max-width: 12ch; }
.ps-record__text { font-size: var(--step-1); line-height: 1.45; color: var(--fg-2); max-width: 36ch; }
.ps-record__meta { margin-top: .5rem; }

/* ------------------------------------------------------------ Delivery */
.ps-delivery__track { position: relative; }
.ps-delivery__rail {
  position: absolute; left: 0; right: 0; top: 0; z-index: 1; height: 1px; pointer-events: none;
  background: linear-gradient(90deg, var(--glacier), var(--iris) 50%, var(--orchid));
  box-shadow: 0 0 10px var(--glow);
  transform: scaleX(var(--p, 1)); transform-origin: left;
}
.ps-steps .step { padding-top: 1.75rem; }
.ps-steps .step__text { max-width: 30ch; }
@media (max-width: 719px) { .ps-delivery__rail { display: none; } }

/* ----------------------------------------------- Paper chapter: approach */
.ps-approach { padding-bottom: var(--space-2xl); }
.ps-safeguard { gap: 1rem; padding: clamp(1.4rem, 1rem + 1.6vw, 2.5rem); }
.ps-safeguard__key { display: flex; align-items: baseline; gap: .9rem; }
.ps-safeguard__num {
  font-size: clamp(2.5rem, 1.9rem + 2.2vw, 3.75rem); font-weight: 250; font-stretch: 118%; line-height: .85; letter-spacing: -.05em;
  background: var(--text-spectrum); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ps-safeguard__domain { font-size: var(--step--1); color: var(--fg-3); font-weight: 560; letter-spacing: .02em; padding-left: .9rem; border-left: 1px solid var(--line-2); }
.ps-safeguard__title { font-size: var(--step-3); line-height: 1.06; letter-spacing: var(--track-h3); font-weight: 540; max-width: 18ch; }
.ps-safeguard__text { color: var(--fg-2); max-width: 58ch; }
.ps-safeguard__note {
  display: flex; gap: .6rem; align-items: baseline;
  margin-top: auto; padding-top: .9rem; border-top: 1px solid var(--line);
  font-size: var(--step--1); color: var(--fg-3);
}
.ps-safeguard__note svg { width: .8rem; height: .8rem; flex: none; color: var(--accent); transform: translateY(.08em); }

/* ----------------------------------------------- Paper chapter: evidence */
.ps-evidence .container, .ps-frameworks .container { padding-top: var(--space-2xl); border-top: 1px solid var(--line-2); }
.ps-evidence { padding-bottom: var(--space-2xl); }
.ps-evidence__grid { display: grid; gap: var(--space-xl) var(--space-m); align-items: start; }
@media (min-width: 1000px) {
  .ps-evidence__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .ps-evidence__head { grid-column: 1 / span 5; position: sticky; top: calc(var(--header-h) + 2rem); }
  .ps-checklist { grid-column: 7 / -1; }
}
.ps-evidence__head { display: grid; gap: var(--space-s); }

.ps-checklist__set { border: 0; padding: 0; margin: 0; min-width: 0; }
.ps-checklist__legend { padding: 0; margin-bottom: .9rem; font-size: var(--step--1); font-weight: 540; color: var(--fg-3); }
.ps-checklist__list { border-top: 1px solid var(--line-2); }
.ps-ev {
  position: relative; display: grid; grid-template-columns: 2.25rem 2.25rem minmax(0, 1fr); gap: 0 1rem; align-items: start;
  padding-block: 1.3rem; border-bottom: 1px solid var(--line);
  transition: background-color var(--dur-2);
}
.ps-ev:has(.ps-ev__input:hover) .ps-ev__hex, .ps-ev:hover .ps-ev__hex { stroke: var(--fg-2); }
.ps-ev__input {
  position: absolute; left: 0; top: 1.3rem; z-index: 2; width: 2.25rem; height: 2.25rem; margin: 0;
  opacity: 0; cursor: pointer;
}
.ps-ev__box { grid-column: 1; grid-row: 1; width: 2.25rem; height: 2.25rem; pointer-events: none; }
.ps-ev__box svg { width: 100%; height: 100%; overflow: visible; }
.ps-ev__hex { fill: var(--surface); stroke: var(--control-border); stroke-width: 1.2; transition: fill .45s var(--ease-out), stroke .45s var(--ease-out); }
.ps-ev__tick { fill: none; stroke: var(--on-fg); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset .55s var(--ease-out) .12s; }
.ps-ev__input:checked + .ps-ev__box .ps-ev__hex { fill: var(--fg); stroke: var(--fg); }
.ps-ev__input:not(:checked) + .ps-ev__box .ps-ev__tick { stroke-dashoffset: 1; transition-delay: 0s; }
.js .ps-ev:not(.is-ticked) .ps-ev__hex { fill: var(--surface); stroke: var(--control-border); }
.js .ps-ev:not(.is-ticked) .ps-ev__tick { stroke-dashoffset: 1; }
.ps-ev__input:focus-visible + .ps-ev__box { outline: 2px solid var(--focus); outline-offset: 3px; border-radius: 2px; }
.ps-ev__num {
  grid-column: 2; grid-row: 1; padding-top: .3rem;
  font-size: var(--step--1); color: var(--fg-3); min-width: 2ch;
}
.ps-ev__body { grid-column: 3; grid-row: 1; display: grid; gap: .3rem; padding-top: .2rem; }
.ps-ev__title { font-size: var(--step-1); line-height: 1.3; letter-spacing: -.012em; color: var(--fg); font-weight: 560; cursor: pointer; }
.ps-ev__title::after { content: ""; position: absolute; inset: 0; z-index: 1; }   /* the whole row toggles */
.ps-ev__text { color: var(--fg-2); max-width: 52ch; }
.ps-ev__input:not(:checked) ~ .ps-ev__body .ps-ev__title { color: var(--fg-2); }

.ps-request { display: grid; gap: .9rem; margin-top: var(--space-l); justify-items: start; }
.ps-request__count { font-size: var(--step--1); color: var(--fg-2); }
.ps-request__count span { color: var(--fg); font-weight: 600; font-variant-numeric: tabular-nums; }
.ps-request__actions { --cluster-gap: .9rem 1.5rem; }
.ps-request [aria-disabled="true"] { opacity: .5; cursor: not-allowed; }

/* ----------------------------------------------- Paper chapter: frameworks */
.ps-refs { align-items: stretch; }
.ps-ref { gap: .6rem; }
.ps-ref__org { font-size: var(--step--1); font-weight: 600; color: var(--accent-text); letter-spacing: .01em; }
.ps-ref__title { font-size: var(--step-2); line-height: 1.14; letter-spacing: -.022em; }
.ps-ref__source { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-size: var(--step--2); color: var(--fg-3); overflow-wrap: anywhere; }
.ps-ref .card__foot { padding-top: 1rem; border-top: 1px solid var(--line); margin-top: auto; flex-wrap: nowrap; }
.ps-ref__map { font-size: var(--step--1); color: var(--fg-2); }
.ps-ref__icon { width: 1rem; height: 1rem; flex: none; color: var(--fg); transition: transform var(--dur-2) var(--ease-out); }
.ps-ref:hover .ps-ref__icon { transform: translate(2px, -2px); }
.ps-ref:hover { border-color: var(--line-3); }
.ps-frameworks__disclaimer {
  display: flex; gap: .75rem; align-items: flex-start; max-width: 78ch;
  margin-top: var(--space-l); padding: 1rem 1.25rem;
  font-size: var(--step--1); line-height: 1.55; color: var(--fg-2);
  border: 1px solid var(--line); border-left: 2px solid var(--accent); border-radius: var(--radius-xs);
  background: var(--bg-raised);
}
.ps-frameworks__disclaimer svg { width: 1rem; height: 1rem; flex: none; margin-top: .15rem; color: var(--accent); }

/* ------------------------------------------------------------ Small screens */
@media (max-width: 599px) {
  .ps-hero .page-hero__actions { width: 100%; }
  .ps-hero .page-hero__actions > .btn { flex: 1 1 auto; }
  .ps-hero .page-hero__actions .btn--lg { min-height: 3.25rem; padding: .8rem 1.15rem; font-size: .9375rem; }
  .ps-ev { grid-template-columns: 2.25rem minmax(0, 1fr); row-gap: .15rem; }
  .ps-ev__num { grid-column: 2; grid-row: 1; padding-top: 0; font-size: var(--step--2); }
  .ps-ev__body { grid-column: 2; grid-row: 2; padding-top: 0; }
  .ps-ev__box { grid-row: 1 / span 2; }
}
@media print {
  .ps-map__arc, .seal__ring, .ps-ev__tick { stroke-dashoffset: 0 !important; }
  .ps-map__arc-glow, .ps-map__node--end, .seal__label, .seal__num, .seal__verts, .seal__legend, .seal__ticks, .seal__mark, .seal__glow { opacity: 1 !important; transform: none !important; }
  .ps-request { display: none !important; }   /* .hero-index is hidden by base.css */
}
