/* Costa & Silva — component CSS for Elementor Site Settings → Custom CSS
 * Generated by wp-migration/lib/make_custom_css.py — do not hand-edit.
 * Everything else (layout, spacing, colour, type) is handled by Elementor
 * Global Styles; see wp-migration/lib/tokens.json.
 */

/* --- WordPress / Elementor bridge ------------------------------------- */
/* Elementor and Hello Elementor both ship opinionated defaults that outrank a
   plain selector, so these are deliberately specific. Sections carry cs-* classes
   emitted by build_elementor.py; target those rather than Elementor's generated
   per-element selectors, which are not stable. */

/* The theme prints the page title above the content; our hero already has the H1. */
.page .page-header,
.elementor-page .page-header { display: none !important; }

/* Headings and body copy */
.elementor-widget-heading .elementor-heading-title {
  color: var(--navy);
  font-family: var(--font-serif);
  font-weight: 500;
  line-height: var(--lh-snug);
}
.elementor-widget-text-editor {
  color: var(--grey-700);
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
}

/* Buttons — Elementor's default is its own green. */
.elementor-widget-button .elementor-button,
.elementor-button-wrapper .elementor-button {
  background-color: var(--navy);
  color: var(--white);
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: .9375rem;
  letter-spacing: .01em;
  border-radius: var(--radius);
  padding: .8rem 1.6rem;
  border: 1px solid var(--navy);
  transition: background-color .2s ease, color .2s ease;
}
.elementor-widget-button .elementor-button:hover,
.elementor-widget-button .elementor-button:focus {
  background-color: var(--gold);
  border-color: var(--gold);
  color: var(--navy);
}

/* Elementor wraps the label in its own spans, which inherit the theme's link
   colour rather than the button's. Without this the text sits dark-on-dark and
   the button reads as an empty block. Covers every state and both wrappers. */
.elementor-button,
.elementor-button:link,
.elementor-button:visited,
.elementor-button .elementor-button-text,
.elementor-button .elementor-button-content-wrapper,
a.elementor-button .elementor-button-text { color: var(--white); }

.elementor-button:hover,
.elementor-button:focus,
.elementor-button:hover .elementor-button-text,
.elementor-button:focus .elementor-button-text,
.elementor-button:hover .elementor-button-content-wrapper { color: var(--navy); }

/* On the dark bands the secondary button is an outline, so it keeps cream text
   on hover rather than flipping to navy on navy. */
.cs-band-dark .elementor-button:hover .elementor-button-text,
.cs-hero-image .elementor-button:hover .elementor-button-text { color: var(--navy); }

/* Hero band: dark scrim so the type is readable over the photograph. */
.elementor-section.cs-hero-image,
.elementor-section.cs-hero-plain { position: relative; }
.elementor-section.cs-hero-image::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(15,42,31,.93) 0%, rgba(15,42,31,.78) 45%, rgba(15,42,31,.42) 100%);
  pointer-events: none;
  z-index: 0;
}
.elementor-section.cs-hero-image > .elementor-container { position: relative; z-index: 1; }

/* Light type on the dark bands. */
.cs-hero-image .elementor-widget-heading .elementor-heading-title,
.cs-hero-plain .elementor-widget-heading .elementor-heading-title,
.cs-band-dark  .elementor-widget-heading .elementor-heading-title { color: var(--cream); }
.cs-hero-image .elementor-widget-text-editor,
.cs-hero-plain .elementor-widget-text-editor,
.cs-band-dark  .elementor-widget-text-editor { color: var(--cream); opacity: .92; }
.cs-hero-image .eyebrow,
.cs-band-dark  .eyebrow { color: var(--gold); }

/* --- Site header ------------------------------------------------------- */
.site-header {
  background: var(--navy);
  padding: 0 var(--s-6);
  box-shadow: none;
  border-bottom: 1px solid rgba(221,230,210,.10);
}
.site-header .header-inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: var(--s-4) 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-6);
}
.site-header .site-branding { display: flex; align-items: center; }
.site-header .site-title a {
  color: var(--cream);
  font-family: var(--font-serif);
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: .01em;
  text-decoration: none;
}
.site-header .site-title a:hover { color: var(--gold); }
.site-header .site-description { display: none; }
.site-header .custom-logo-link img,
.site-header .site-logo img { max-height: 52px; width: auto; }

/* Top-level navigation */
.site-navigation .menu { display: flex; gap: var(--s-6); align-items: center; margin: 0; padding: 0; list-style: none; }
.site-navigation .menu > li > a {
  color: var(--cream);
  font-family: var(--font-sans);
  font-size: .9375rem;
  font-weight: 400;
  text-decoration: none;
  padding: var(--s-2) 0;
  border-bottom: 1px solid transparent;
  white-space: nowrap;
  transition: color .18s ease, border-color .18s ease;
}
.site-navigation .menu > li > a:hover,
.site-navigation .menu > li.current-menu-item > a,
.site-navigation .menu > li.current-page-ancestor > a {
  color: var(--gold);
  border-bottom-color: var(--gold);
}

/* Services dropdown */
.site-navigation .menu li { position: relative; }
.site-navigation .menu .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 268px;
  background: var(--navy);
  border: 1px solid rgba(201,169,97,.26);
  border-radius: var(--radius);
  padding: var(--s-3) 0;
  margin: 0;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
  z-index: 200;
  box-shadow: 0 12px 32px rgba(6,26,17,.28);
}
.site-navigation .menu li:hover > .sub-menu,
.site-navigation .menu li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.site-navigation .menu .sub-menu a {
  display: block;
  color: var(--cream);
  font-family: var(--font-sans);
  font-size: .9375rem;
  padding: var(--s-3) var(--s-5);
  text-decoration: none;
  white-space: nowrap;
}
.site-navigation .menu .sub-menu a:hover { color: var(--gold); background: rgba(201,169,97,.08); }

@media (max-width: 1024px) {
  .site-navigation .menu { gap: var(--s-4); }
  .site-navigation .menu > li > a { font-size: .875rem; }
}
@media (max-width: 860px) {
  .site-header .header-inner { flex-direction: column; align-items: flex-start; gap: var(--s-4); }
  .site-navigation .menu { flex-wrap: wrap; gap: var(--s-4); }
  .site-navigation .menu .sub-menu {
    position: static; opacity: 1; visibility: visible; transform: none;
    border: none; box-shadow: none; padding: 0 0 0 var(--s-4); min-width: 0;
  }
}

/* --- Trust band marquee ------------------------------------------------ */
/* The logo strip scrolls right to left. The track holds two copies of the
   badges, so when the first copy has travelled its own width the second is
   exactly where the first began and the loop has no visible seam. */
.trust-band.cs-marquee { padding: var(--s-7) 0; overflow: hidden; }
.trust-band .trust-band-header {
  max-width: var(--container); margin: 0 auto var(--s-5); padding: 0 var(--s-6);
  font-size: .75rem; letter-spacing: .18em; text-transform: uppercase; color: var(--gold);
}
.cs-marquee-viewport {
  overflow: hidden;
  /* fade the strip out at both edges rather than cutting it off hard */
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.cs-marquee-track {
  display: flex;
  width: max-content;
  gap: var(--s-4);
  animation: cs-scroll 42s linear infinite;
}
.cs-marquee:hover .cs-marquee-track { animation-play-state: paused; }
.cs-marquee-track .trust-band-badge {
  flex: 0 0 auto;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: var(--s-2);
  min-width: 170px;
  padding: var(--s-4) var(--s-5);
  text-align: center; text-decoration: none;
  border: 1px solid rgba(201,169,97,.2);
  border-radius: var(--radius);
  background: rgba(255,255,255,.03);
  transition: border-color .3s ease, background .3s ease;
}
.cs-marquee-track .trust-band-badge:hover {
  border-color: var(--gold); background: rgba(201,169,97,.08);
}
.cs-marquee-track .trust-band-badge img {
  height: 26px; max-width: 90px; object-fit: contain;
  filter: brightness(0) invert(1);
}
.cs-marquee-track .trust-band-badge .name {
  font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--cream); opacity: .75;
}

@keyframes cs-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* Respect a reduced-motion preference — the strip simply sits still. */
@media (prefers-reduced-motion: reduce) {
  .cs-marquee-track { animation: none; flex-wrap: wrap; justify-content: center; width: auto; }
  .cs-marquee-viewport { -webkit-mask-image: none; mask-image: none; }
}

/* --- Enquiry forms ----------------------------------------------------- */
.cs-form { max-width: 640px; }
.cs-field { margin: 0 0 var(--s-5); }
.cs-field label {
  display: block;
  font-family: var(--font-sans);
  font-size: .8125rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--navy);
  margin-bottom: var(--s-2);
}
.cs-field input, .cs-field select, .cs-field textarea {
  width: 100%;
  font-family: var(--font-sans);
  font-size: 1rem;
  color: var(--ink);
  background: var(--white);
  border: 1px solid var(--rule);
  border-radius: var(--radius);
  padding: .8rem 1rem;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.cs-field input:focus, .cs-field select:focus, .cs-field textarea:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(201,169,97,.16);
}
.cs-field textarea { resize: vertical; min-height: 140px; }
.cs-field--check label {
  display: flex;
  gap: var(--s-3);
  align-items: flex-start;
  text-transform: none;
  letter-spacing: 0;
  font-size: .9375rem;
  color: var(--grey-700);
  line-height: 1.5;
}
.cs-field--check input { width: auto; margin-top: .2rem; flex: none; }
.cs-req { color: var(--gold); }
.cs-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cs-form-submit { margin-top: var(--s-3); cursor: pointer; }
.cs-form-note {
  padding: var(--s-4) var(--s-5);
  border-radius: var(--radius);
  margin-bottom: var(--s-5);
  font-size: .9375rem;
}
.cs-form-note--ok  { background: #eef4e6; border-left: 3px solid var(--gold); color: var(--navy); }
.cs-form-note--err { background: #fcf0f1; border-left: 3px solid #b32d2e; color: #6b2224; }

/* --- Footer ------------------------------------------------------------ */
.cs-footer { background: var(--navy-deep); color: var(--cream); padding: var(--s-9) var(--s-6) var(--s-6); }
.cs-footer-inner { max-width: var(--container); margin: 0 auto; }
.cs-footer a { color: var(--cream); text-decoration: none; }
.cs-footer a:hover { color: var(--gold); }

.cs-values {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: var(--s-5); list-style: none; margin: 0 0 var(--s-7); padding: 0;
}
.cs-values li {
  font-size: .75rem; letter-spacing: .18em; text-transform: uppercase; color: var(--gold);
}
.cs-values li + li::before { content: "·"; margin-right: var(--s-5); opacity: .5; }

.cs-footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: var(--s-7);
  padding-top: var(--s-6);
  border-top: 1px solid rgba(221,230,210,.14);
}
.cs-footer-logo, .cs-footer-brand img { max-width: 190px; height: auto; margin-bottom: var(--s-4); }
.cs-footer-wordmark {
  display: block; font-family: var(--font-serif); font-size: 1.3rem;
  color: var(--cream); margin-bottom: var(--s-4);
}
.cs-footer-wordmark em { color: var(--gold); font-style: normal; letter-spacing: .14em; font-size: .8em; }
.cs-footer-brand p { font-size: .9375rem; line-height: 1.6; color: var(--cream); opacity: .78; margin: 0 0 var(--s-3); }
.cs-markets { font-size: .75rem !important; letter-spacing: .14em; text-transform: uppercase; opacity: .55 !important; }

.cs-footer-col h4 {
  font-family: var(--font-sans); font-size: .75rem; font-weight: 500;
  letter-spacing: .16em; text-transform: uppercase; color: var(--gold);
  margin: 0 0 var(--s-4);
}
.cs-footer-col ul { list-style: none; margin: 0; padding: 0; }
.cs-footer-col li { margin-bottom: var(--s-3); }
.cs-footer-col a { font-size: .9375rem; opacity: .85; }
.cs-footer-col a:hover { opacity: 1; }
.cs-address { font-style: normal; font-size: .9375rem; line-height: 1.6; opacity: .8; margin-top: var(--s-4); }
.cs-address strong { display: block; color: var(--cream); margin-bottom: 2px; }
.cs-social { margin-top: var(--s-4); display: flex; gap: var(--s-4); font-size: .875rem; }

.cs-legal {
  margin-top: var(--s-6); padding-top: var(--s-5);
  border-top: 1px solid rgba(221,230,210,.14);
  font-size: .75rem; line-height: 1.6; color: var(--cream); opacity: .5; max-width: 78ch;
}
.cs-footer-base {
  display: flex; flex-wrap: wrap; gap: var(--s-4) var(--s-6);
  align-items: center; justify-content: space-between;
  margin-top: var(--s-5); padding-top: var(--s-5);
  border-top: 1px solid rgba(221,230,210,.14);
  font-size: .75rem; color: var(--cream); opacity: .62;
}
.cs-footer-legal-links a { margin-right: var(--s-4); }
.cs-strapline { opacity: .8; }

@media (max-width: 1024px) { .cs-footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px)  {
  .cs-footer-grid { grid-template-columns: 1fr; gap: var(--s-6); }
  .cs-values { gap: var(--s-3); }
  .cs-values li + li::before { margin-right: var(--s-3); }
  .cs-footer-base { flex-direction: column; align-items: flex-start; }
}

/* design tokens — required by the component rules below */
:root{--navy: #0F2A1F;--navy-deep: #061A11;--navy-light: #1A3D2E;--moss: #355945;--sage: #6B8770;--sage-pale: #B7C6B3;--cream: #DDE6D2;--cream-soft: #ECF1E2;--gold: #C9A961;--gold-deep: #A88846;--ink: #1A1A1A;--ink-soft: #2E2E2E;--grey-900: #1F1F1F;--grey-700: #4A4A4A;--grey-500: #777777;--grey-300: #BFC4BC;--grey-100: #DEE3D9;--rule: #C9D0C4;--white: #F4F8EC;--font-serif: "Cormorant Garamond", "Georgia", "Times New Roman", serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Consolas, monospace;--fs-eyebrow: .75rem;--fs-body: 1.0625rem;--fs-lead: 1.25rem;--fs-h4: 1.25rem;--fs-h3: 1.625rem;--fs-h2: 2.25rem;--fs-h1: 3.5rem;--fs-display: 5rem;--lh-tight: 1.08;--lh-snug: 1.25;--lh-body: 1.65;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4rem;--s-9: 6rem;--s-10: 8rem;--container: 1240px;--container-narrow: 880px;--container-prose: 720px;--radius: 2px;--shadow-sm: 0 1px 2px rgba(15,42,31,.04), 0 2px 8px rgba(15,42,31,.06);--shadow-md: 0 4px 12px rgba(15,42,31,.08), 0 12px 32px rgba(15,42,31,.08)}

/* components */
html,body{height:100%}
body{font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink);background:var(--cream-soft);font-feature-settings:"kern" 1,"liga" 1,"calt" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4,.display{font-family:var(--font-serif);font-weight:500;color:var(--navy);letter-spacing:-.01em}
h1{font-size:var(--fs-h1);line-height:var(--lh-tight)}
h2{font-size:var(--fs-h2);line-height:var(--lh-snug)}
h3{font-size:var(--fs-h3);line-height:var(--lh-snug)}
h4{font-size:var(--fs-h4);line-height:var(--lh-snug)}
.eyebrow{font-family:var(--font-sans);font-size:var(--fs-eyebrow);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);font-weight:600}
.lead{font-family:var(--font-serif);font-size:var(--fs-lead);line-height:1.45;color:var(--ink-soft);font-weight:400}
.prose p+p{margin-top:var(--s-4)}
.prose h2,.prose h3{margin-top:var(--s-7);margin-bottom:var(--s-4)}
.btn{display:inline-flex;align-items:center;gap:var(--s-2);padding:.95rem 1.75rem;font-family:var(--font-sans);font-size:.9375rem;font-weight:500;letter-spacing:.02em;border-radius:var(--radius);transition:all .2s ease;border:1px solid transparent;cursor:pointer}
.btn--ghost{background:transparent;color:var(--navy);padding-left:0;padding-right:0}
.btn--ghost:after{content:"→";transition:transform .2s;margin-left:.25em}
.btn--ghost:hover:after{transform:translate(4px)}
.card{background:var(--white);padding:var(--s-6);border-radius:var(--radius);border-top:3px solid var(--navy);box-shadow:var(--shadow-sm);transition:all .25s ease;display:flex;flex-direction:column;gap:var(--s-4)}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-top-color:var(--gold)}
.card h3{font-size:1.375rem}
.card .eyebrow{color:var(--gold-deep)}
.cta-block{background:var(--navy);color:var(--cream);padding:var(--s-8) var(--s-6);border-radius:var(--radius);display:grid;gap:var(--s-4);text-align:center}
.cta-block h2{color:var(--cream);margin-bottom:var(--s-2)}
.cta-block p{color:var(--cream);opacity:.85;max-width:50ch;margin:0 auto}
.cta-block .btn--primary{background:var(--gold);color:var(--white)}
.cta-block .btn--primary:hover{background:var(--gold-deep)}
.two-col-balanced{display:grid;grid-template-columns:1fr;gap:var(--s-7)}
.checklist{list-style:none;padding:0}
.checklist li{position:relative;padding-left:1.5em;margin-bottom:var(--s-2);line-height:1.55}
.checklist li:before{content:"—";position:absolute;left:0;color:var(--gold);font-weight:600}
.btn--ghost:after{display:inline-block;transition:transform .3s cubic-bezier(.22,.61,.36,1)}
.btn--ghost:hover:after{transform:translate(6px)}
.cta-block .btn--primary{transition:transform .3s ease,background-color .3s ease,box-shadow .3s ease}
.cta-block .btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #b8956a4d}
.market-pill{display:flex;flex-direction:column;align-items:center;gap:var(--s-2);padding:var(--s-5) var(--s-3);background:var(--cream);border-radius:var(--radius);border-top:2px solid var(--gold)}
.market-pill .flag{font-size:2rem;line-height:1}
.market-pill .country{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);font-weight:600}
.markets-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-4)}
.markets-grid .market-pill--image .market-image{height:160px}
.markets-grid .market-pill--image .market-meta{padding:var(--s-3) var(--s-4)}
.founder-roles{display:flex;flex-wrap:wrap;gap:var(--s-2);margin:var(--s-3) 0 var(--s-4)}
.founder-roles .role-pill{font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:.3rem .7rem;background:#c9a96126;color:var(--gold);border:1px solid rgba(201,169,97,.4);border-radius:999px}
.journey-step{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:90px;padding:var(--s-3) var(--s-2)}
.journey-num{font-family:var(--font-sans);font-size:.6875rem;letter-spacing:.14em;color:var(--gold-deep);font-weight:600}
.journey-label{font-family:var(--font-serif);font-size:1.125rem;color:var(--navy);font-weight:500;letter-spacing:.02em}
.journey-arrow{color:var(--gold);font-size:1.25rem;font-weight:300}
.credentials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s-5)}
.credential-card{background:var(--white);padding:var(--s-6);border-radius:var(--radius);border-top:3px solid var(--gold);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--s-3);transition:transform .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}
.credential-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.credential-badge{position:relative;width:56px;height:56px;border-radius:50%;background:#c9a9611f;border:1px solid rgba(201,169,97,.35);display:flex;align-items:center;justify-content:center;color:var(--gold-deep);margin-bottom:var(--s-2)}
.credential-badge svg{width:26px;height:26px}
.credential-category{font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);font-weight:600}
.credential-card h3{font-size:1.25rem;color:var(--navy);margin:0}
.credential-card p{color:var(--grey-700);font-size:.9375rem;line-height:1.55;margin:0}
.trust-band{background:var(--navy);color:var(--cream);padding:var(--s-7) 0;border-top:1px solid rgba(201,169,97,.25);border-bottom:1px solid rgba(201,169,97,.25)}
.trust-band-badge{display:flex;flex-direction:column;align-items:center;gap:var(--s-2);padding:var(--s-4) var(--s-3);text-align:center;border:1px solid rgba(201,169,97,.2);border-radius:var(--radius);background:#ffffff05;transition:border-color .3s ease,background .3s ease}
.trust-band-badge:hover{border-color:var(--gold);background:#c9a9610f}
.trust-band-badge svg{width:24px;height:24px;color:var(--gold)}
.trust-band-badge .name{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cream);font-weight:600;opacity:.9}
.credential-badge:has(img){width:100px;height:60px;border-radius:var(--radius);background:var(--white);border:1px solid var(--rule);padding:6px 10px}
.credential-badge img{filter:none}
.standards-head{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4)}
.standards-head svg{width:26px;height:26px;color:var(--gold);flex:none}
.standards-head span{font-family:var(--font-serif);font-size:1.25rem;color:var(--navy);letter-spacing:.02em}
.standards-items{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) 0}
.standards-items span{font-size:.875rem;color:var(--grey-700);padding:0 var(--s-4);border-right:1px solid rgba(15,42,31,.16);line-height:1.3}
.standards-items span:first-child{padding-left:0}
.standards-items span:last-child{border-right:0}
.placeholder-note strong{color:#8a6d1f}
.event-date{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--gold);border-radius:var(--radius);padding:var(--s-3) var(--s-4);min-width:104px;background:var(--white)}
.event-date .day{font-family:var(--font-serif);font-variant-numeric:lining-nums;font-feature-settings:'lnum' 1;font-size:2.6rem;line-height:1;color:var(--navy)}
.event-date .mon{font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-top:4px}
.event-date .yr{font-size:.75rem;color:var(--grey-600);margin-top:2px}
.event-image{width:100%;aspect-ratio:4/3;background-size:cover;background-position:center;border-radius:var(--radius)}
.event-chip{display:inline-block;align-self:flex-start;width:fit-content;max-width:100%;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(201,169,97,.5);border-radius:3px;padding:3px 9px;margin-bottom:var(--s-3)}
.event-meta{margin-top:auto;padding-top:var(--s-3);font-size:.8125rem;color:var(--grey-600);border-top:1px solid var(--rule)}
.past-events{list-style:none;margin:0;padding:0;max-width:72ch}
.past-events li{display:flex;gap:var(--s-4);align-items:baseline;padding:var(--s-3) 0;border-bottom:1px solid var(--rule)}
.pe-date{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);width:120px;flex:none}
.pe-name{flex:1;color:var(--navy)}
.pe-loc{font-size:.875rem;color:var(--grey-600)}

/* responsive */
@media(min-width:880px){
  .two-col-balanced{grid-template-columns:1fr 1fr}
}
@media print{
  .site-header,.site-footer,.cta-block{display:none}
}
@media(min-width:640px){
  .markets-grid{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:960px){
  .markets-grid{grid-template-columns:repeat(5,1fr)}
}
@media(max-width:720px){
  .markets-grid .market-pill--image .market-image{height:120px}
}
@media(max-width:720px){
  .markets-grid{gap:var(--s-3)}
  .card{padding:var(--s-5)}
  .cta-block{padding:var(--s-7) var(--s-5)}
  .cta-block h2{font-size:1.75rem}
  .two-col,.two-col-balanced{gap:var(--s-5)}
  h2{max-width:100%}
}
@media(max-width:720px){
  .journey-step{min-width:68px;padding:var(--s-2)}
  .journey-label{font-size:.9375rem}
  .journey-num{font-size:.625rem}
  .journey-arrow{font-size:1rem}
}
@media (max-width:720px){
  .standards-items{flex-direction:column;align-items:flex-start;gap:var(--s-2)}
  .standards-items span{border-right:0;padding:0}
}
@media (max-width:720px){
  .past-events li{flex-direction:column;gap:2px}
  .pe-date{width:auto}
}
