/* ANNA OLIVER — FINAL SYSTEM POLISH
   Purpose: one stable final layer for spacing, responsive rhythm, accessibility,
   newsletter/footer finish, and component consistency. */

:root{
  --final-gutter:clamp(18px,3.9vw,56px);
  --final-section:clamp(72px,8vw,118px);
}

html{scroll-padding-top:calc(var(--header-height) + 18px);}
body{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;}
p,li,dd{overflow-wrap:anywhere;text-wrap:pretty;}
h1,h2,h3{overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance;}
main section[id]{scroll-margin-top:calc(var(--header-height) + 30px);}

/* Keep interactive elements deliberate and touch-friendly. */
a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent;}
button,a{touch-action:manipulation;}
:focus-visible{outline:3px solid var(--gold-light);outline-offset:4px;}

/* General section rhythm and shrink safety. */
.section{padding-block:var(--final-section);}
:is(.section-heading,.story-grid,.services-layout,.service-grid,.path-grid,.team-grid,
.listing-grid,.testimonial-grid,.podcast-shell,.real-preview-grid,.resource-grid,
.evaluation-grid,.contact-shell,.footer-top,.footer-grid,.legal-copy)>*{min-width:0;}

/* Cards: quiet precision rather than visual noise. */
:is(.listing-card,.team-card,.testimonial-grid article,.activity-card,.resource-panel,.evaluation-panel){
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
@media(hover:hover){
  :is(.listing-card,.activity-card):hover{transform:translateY(-2px);box-shadow:0 20px 46px rgba(9,16,37,.10);}
}

/* Newsletter: fixes the white-on-cream late override and makes the opt-in read as one component. */
.signup{
  position:relative;
  padding:clamp(62px,7vw,86px) 0;
  background:linear-gradient(180deg,#ece6dc 0%,var(--mist) 100%);
  border-top:1px solid rgba(16,25,39,.10);
}
.signup-grid{
  grid-template-columns:minmax(0,1fr) minmax(390px,.82fr);
  column-gap:clamp(44px,6vw,82px);
  row-gap:14px;
  align-items:center;
}
.signup-grid>div{max-width:650px;}
.signup h2{max-width:650px;margin:12px 0 16px;}
.signup p{max-width:610px;color:#3e4651;}
.signup form{
  grid-column:2;
  align-self:end;
  border:1px solid rgba(16,25,39,.20);
  background:rgba(255,255,255,.46);
  box-shadow:0 14px 38px rgba(9,16,37,.06);
}
.signup input{
  min-width:0;
  border:0;
  background:transparent;
  color:var(--navy);
  padding-inline:18px;
}
.signup input::placeholder{color:#69717c;opacity:1;}
.signup button{
  border:0;
  border-left:1px solid rgba(255,255,255,.14);
  padding-inline:26px;
  white-space:nowrap;
}
.signup-consent{
  display:block;
  grid-column:2;
  margin:2px 0 0!important;
  color:#59616c!important;
  font-size:.72rem!important;
  line-height:1.55!important;
  letter-spacing:.005em;
  text-align:left;
}

/* Footer: stronger lockup, cleaner alignment, less 'stacked template' feeling. */
.site-footer{
  padding:0 0 30px;
  border-top:1px solid rgba(255,255,255,.11);
  background:linear-gradient(180deg,#0b1421 0%,var(--navy-deep) 100%);
}
.footer-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(245px,.62fr);
  align-items:end;
  gap:clamp(34px,6vw,84px);
  padding-top:clamp(48px,6vw,72px);
  padding-bottom:36px;
}
.footer-brand{max-width:500px;}
.footer-brand img{width:min(410px,100%);}
.footer-brand p{
  max-width:460px;
  margin-top:14px;
  color:rgba(255,255,255,.68);
  font-size:.74rem;
  line-height:1.6;
  letter-spacing:.055em;
}
.footer-contact{justify-self:end;text-align:right;}
.footer-contact span{margin-bottom:5px;}
.footer-contact a{font-size:clamp(1.15rem,1.8vw,1.48rem);line-height:1.35;}
.footer-grid{
  grid-template-columns:1fr 1.18fr .86fr 1.12fr;
  gap:clamp(28px,4.5vw,62px);
  padding:36px 0 38px;
}
.footer-grid>div{gap:8px;}
.footer-grid .kicker{margin-bottom:6px;}
.footer-grid a,.footer-grid p{font-size:.78rem;line-height:1.55;}
.legal-copy{
  grid-template-columns:minmax(220px,.42fr) minmax(0,1.58fr);
  gap:clamp(32px,5vw,72px);
  padding-top:22px;
}
.legal-copy p:last-child{max-width:900px;justify-self:end;}

/* Forms: consistent field geometry and clearer affordance. */
:is(.stack-form,.evaluation-form) input,
:is(.stack-form,.evaluation-form) select,
:is(.stack-form,.evaluation-form) textarea{
  border-radius:0;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
:is(.stack-form,.evaluation-form) input:focus,
:is(.stack-form,.evaluation-form) select:focus,
:is(.stack-form,.evaluation-form) textarea:focus{
  border-color:var(--cobalt);
  box-shadow:0 0 0 3px rgba(83,107,128,.13);
}

/* Images retain crop intent without layout shift. */
.listing-image img,.team-photo img,.contact-image img,.story-visual img{width:100%;height:100%;}

@media(max-width:1100px){
  .signup-grid{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);column-gap:36px;}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 54px;}
}

@media(max-width:760px){
  :root{--final-section:clamp(58px,15vw,76px);}
  .wrap{width:min(var(--max),calc(100% - 36px));}
  .signup{padding:58px 0 62px;}
  .signup-grid{grid-template-columns:1fr;gap:22px;}
  .signup form{grid-column:1;grid-template-columns:1fr;box-shadow:none;}
  .signup input{min-height:58px;border-bottom:1px solid rgba(16,25,39,.14);}
  .signup button{min-height:58px;border-left:0;}
  .signup-consent{grid-column:1;margin-top:-4px!important;color:#505965!important;}
  .footer-top{grid-template-columns:1fr;gap:28px;padding-top:48px;}
  .footer-brand{max-width:100%;}
  .footer-brand img{width:min(360px,100%);}
  .footer-contact{justify-self:start;text-align:left;}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 30px;}
  .legal-copy{grid-template-columns:1fr;gap:15px;}
  .legal-copy p:last-child{justify-self:start;}
}

@media(max-width:520px){
  .wrap{width:min(var(--max),calc(100% - 32px));}
  .footer-grid{grid-template-columns:1fr;gap:28px;}
  .footer-brand img{width:min(330px,100%);}
  .footer-contact a{font-size:1.2rem;}
  .service-grid article{padding:23px 20px;}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
  :is(.listing-card,.activity-card):hover{transform:none;}
}
/* Hero credential: medium-scale, crisp portrait treatment */
@media (min-width: 981px) {
  .hero-inner {
    grid-template-columns: minmax(0, 1fr) minmax(440px, .58fr);
  }

  .hero-credential {
    width: min(100%, 470px);
    max-width: 470px;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 24px;
    align-self: center;
    justify-self: end;
    padding: 19px;
    background: rgba(5, 10, 37, .82);
    box-shadow: 0 20px 48px rgba(4, 9, 24, .2);
  }

  .hero-credential img {
    width: 132px;
    height: 148px;
    object-fit: cover;
    object-position: 50% 24%;
    image-rendering: auto;
  }

  .hero-credential span {
    font-size: clamp(2rem, 2.35vw, 2.35rem);
    line-height: 1.02;
  }

  .hero-credential strong {
    margin: 11px 0 5px;
    font-size: .82rem;
  }

  .hero-credential small {
    font-size: .82rem;
    line-height: 1.4;
  }
}

@media (min-width: 981px) and (max-width: 1180px) {
  .hero-inner {
    grid-template-columns: minmax(0, 1fr) minmax(390px, .5fr);
  }

  .hero-credential {
    width: min(100%, 420px);
    grid-template-columns: 116px minmax(0, 1fr);
    gap: 20px;
    padding: 17px;
  }

  .hero-credential img {
    width: 116px;
    height: 132px;
  }

  .hero-credential span { font-size: clamp(1.85rem, 2.8vw, 2.15rem); }
}

/* Luxury editorial press banner — stable, structural linework */
.press-strip {
  position: relative;
  padding: clamp(64px, 7vw, 92px) 0;
  border-top: 1px solid rgba(16, 25, 39, .14);
  border-bottom: 1px solid rgba(16, 25, 39, .14);
  background:
    radial-gradient(circle at 82% 12%, rgba(188, 162, 104, .16), transparent 28%),
    linear-gradient(135deg, #f6f2e9 0%, #ede7dc 100%);
}

.press-shell { position: relative; z-index: 1; }

.press-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .65fr);
  gap: clamp(36px, 6vw, 90px);
  align-items: end;
  margin-bottom: 34px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(16, 25, 39, .18);
}

.press-heading .kicker { color: #50677c; }
.press-heading h2 { margin: 12px 0 0; color: var(--navy); font-size: clamp(2.2rem, 4vw, 4rem); line-height: 1.02; }
.press-heading h2 em { color: #8b7448; font-weight: 400; }
.press-heading p { max-width: 520px; margin: 0; color: #4e5965; font-size: clamp(.92rem, 1.2vw, 1.05rem); line-height: 1.72; }

.press-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid rgba(16, 25, 39, .16);
  border-left: 1px solid rgba(16, 25, 39, .16);
  background: transparent;
}

.press-logo {
  --logo-height: 43px;
  position: relative;
  isolation: isolate;
  min-width: 0;
  min-height: 176px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
  padding: 25px 24px 21px;
  background: rgba(255, 255, 255, .76);
  border-right: 1px solid rgba(16, 25, 39, .16);
  border-bottom: 1px solid rgba(16, 25, 39, .16);
  color: var(--navy);
  text-decoration: none;
  contain: layout paint;
  transition: background-color .18s ease, box-shadow .18s ease;
}

.press-logo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-top: 3px solid #8b7448;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}

.press-logo:hover,
.press-logo:focus-visible {
  background: rgba(255, 255, 255, .98);
  box-shadow: inset 0 0 0 1px rgba(139, 116, 72, .34);
}
.press-logo:hover::after,
.press-logo:focus-visible::after { opacity: 1; }

.press-mark {
  min-height: 67px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.press-logo img {
  width: auto;
  max-width: min(100%, 180px);
  height: auto;
  max-height: var(--logo-height);
  object-fit: contain;
  object-position: left center;
  filter: none;
  transform: none;
  transition: opacity .18s ease;
}

.press-logo:hover img,
.press-logo:focus-visible img { filter: none; opacity: .82; }

.press-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding-top: 20px;
}
.press-meta b {
  color: #50677c;
  font-size: .68rem;
  letter-spacing: .095em;
  line-height: 1.35;
  text-transform: uppercase;
}
.press-meta small {
  color: #263849;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .01em;
}
.press-logo:hover .press-meta b,
.press-logo:focus-visible .press-meta b { color: #8b7448; }
.press-logo:hover .press-meta small,
.press-logo:focus-visible .press-meta small { color: #17283a; }

.press-logo-star { --logo-height: 31px; }
.press-logo-lakefront { --logo-height: 44px; }
.press-logo-globe { --logo-height: 54px; }
.press-logo-ctv { --logo-height: 45px; }
.press-logo-toronto-life { --logo-height: 43px; }
.press-logo-village { --logo-height: 42px; }
.press-logo-wsj { --logo-height: 51px; }
.press-logo-mansion { --logo-height: 43px; }

.press-note { max-width: 820px; margin: 20px 0 0; color: #69727b; font-size: .7rem; line-height: 1.6; }

/* Latest activity: editorial property journal rather than six identical utility cards. */
.activity {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 12%, rgba(68, 91, 112, .09), transparent 30%),
    linear-gradient(180deg, #f4f0e8 0%, #eee9df 100%);
}

.activity::before {
  content: "09";
  position: absolute;
  top: clamp(34px, 5vw, 76px);
  right: clamp(18px, 4vw, 68px);
  color: rgba(68, 91, 112, .055);
  font: 400 clamp(8rem, 16vw, 15rem)/.8 var(--serif);
  letter-spacing: -.08em;
  pointer-events: none;
}

.activity .wrap { position: relative; z-index: 1; }

.activity-grid {
  counter-reset: activity-entry;
  gap: 18px;
}

.activity-card {
  counter-increment: activity-entry;
  position: relative;
  min-height: 274px;
  overflow: hidden;
  padding: 28px 28px 25px;
  border: 1px solid rgba(68, 91, 112, .14);
  background: rgba(255, 255, 255, .84);
  box-shadow: 0 14px 38px rgba(15, 25, 39, .055);
}

.activity-card::before {
  content: "0" counter(activity-entry);
  position: absolute;
  right: 21px;
  bottom: 9px;
  color: rgba(68, 91, 112, .07);
  font: 400 4.9rem/.9 var(--serif);
  letter-spacing: -.06em;
  pointer-events: none;
}

.activity-card:first-child {
  border-color: #152437;
  background: linear-gradient(145deg, #101b29 0%, #192b3e 100%);
  box-shadow: 0 20px 46px rgba(9, 16, 37, .18);
  color: #f8f5ef;
}

.activity-card:first-child::before { color: rgba(255, 255, 255, .06); }

.activity-meta {
  position: relative;
  z-index: 1;
  align-items: center;
  gap: 9px 12px;
}

.activity-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 5px 9px 4px;
  border: 1px solid rgba(68, 91, 112, .18);
  background: rgba(68, 91, 112, .06);
  color: #445b70;
  font-size: .65rem;
  letter-spacing: .105em;
}

.activity-meta time {
  color: #536272;
  font-size: .67rem;
  letter-spacing: .055em;
}

.activity-card:first-child .activity-meta span {
  border-color: rgba(255, 255, 255, .22);
  background: rgba(255, 255, 255, .08);
  color: #e7dbc0;
}

.activity-card:first-child .activity-meta time,
.activity-card:first-child p { color: rgba(255, 255, 255, .72); }

.activity-card h3 {
  position: relative;
  z-index: 1;
  margin: 25px 0 10px;
  max-width: 92%;
  font-size: clamp(1.42rem, 2vw, 1.72rem);
}

.activity-card:first-child h3 { color: #fff; }

.activity-card p {
  position: relative;
  z-index: 1;
  max-width: 92%;
  font-size: .82rem;
  line-height: 1.62;
}

.activity-card .listing-link {
  position: relative;
  z-index: 1;
}

.activity-card:first-child .listing-link {
  border-bottom-color: rgba(255, 255, 255, .44);
  color: #fff;
}

.activity-card:hover {
  border-color: rgba(139, 116, 72, .34);
  background-color: rgba(255, 255, 255, .96);
  box-shadow: 0 18px 44px rgba(9, 16, 37, .105);
}

.activity-card:first-child:hover {
  border-color: rgba(205, 186, 148, .54);
  background: linear-gradient(145deg, #132134 0%, #1c3045 100%);
}

@media (max-width: 980px) {
  .press-heading { grid-template-columns: 1fr; gap: 18px; }
  .press-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .activity::before { opacity: .65; }
}

@media (max-width: 560px) {
  .press-strip { padding: 58px 0; }
  .press-grid { grid-template-columns: 1fr; }
  .press-logo { min-height: 148px; }
  .press-heading h2 { font-size: clamp(2.15rem, 11vw, 3rem); }
  .activity::before { display: none; }
  .activity-card { min-height: 250px; padding: 25px 22px 23px; }
  .activity-card::before { font-size: 4.2rem; }
}

/* Interaction stability pass — eliminate flash, shifting and permanent GPU layers. */
.js .reveal,
.js .reveal.is-visible,
.r-js .r-reveal,
.r-js .r-reveal.r-visible {
  opacity: 1;
  transform: none;
  transition: none;
}

.button:hover,
:is(.listing-card,.activity-card,.credential-grid>div):hover {
  transform: none;
}

:is(.listing-card,.activity-card):hover {
  border-color: rgba(139, 116, 72, .30);
  box-shadow: 0 16px 38px rgba(9,16,37,.085);
}

/* A readable, user-controlled market rail replaces the continuous marquee. */
.market-snapshot-window {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(199,210,220,.52) transparent;
}
.market-snapshot-marquee {
  width: max-content;
  min-width: 100%;
  animation: none;
  transform: none;
  will-change: auto;
}
.market-snapshot-group[aria-hidden="true"] { display: none; }

@media (hover: none), (pointer: coarse) {
  .press-logo:hover { background: rgba(255, 255, 255, .76); box-shadow: none; }
  .press-logo:hover::after { opacity: 0; }
  .press-logo:hover img { opacity: 1; }
}

/* Final section-flow audit — matched columns and deliberate colour handoffs. */
.pathways {
  padding-bottom: clamp(48px, 4.5vw, 66px);
}

.path-feature {
  align-items: stretch;
}

.path-feature .path-image {
  align-self: stretch;
  height: auto !important;
  min-height: 520px !important;
}

.path-feature .path-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.team {
  padding-top: clamp(70px, 6vw, 88px);
  background: linear-gradient(180deg, #e9eef1 0%, #f0f2f2 100%);
  border-top: 1px solid rgba(68, 91, 112, .20);
}

/* Similar-tone neighbours receive one clean boundary, never ornamental linework. */
.podcast-feature,
.real-preview,
.activity,
.contact,
.signup {
  border-top: 1px solid rgba(68, 91, 112, .16);
}

.real-preview { box-shadow: inset 0 1px rgba(255, 255, 255, .07); }

/* Keep the podcast identity intact; never manually hyphenate the brand name. */
.r-podcast-art {
  overflow: hidden;
}

.r-podcast-art span {
  max-width: 100%;
  font-size: clamp(1.9rem, 3.1vw, 3.25rem);
  line-height: 1;
  letter-spacing: -.045em;
  overflow-wrap: normal;
  word-break: keep-all;
  hyphens: none;
  white-space: nowrap;
}

.r-podcast {
  grid-template-columns: minmax(390px, .95fr) minmax(0, 1.05fr);
}

.r-podcast-art span {
  font-size: clamp(2rem, 2.25vw, 2.45rem);
  line-height: 1.05;
  letter-spacing: -.025em;
}

@media (max-width: 980px) {
  .path-feature .path-image {
    align-self: auto;
    min-height: 0 !important;
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 820px) {
  .r-podcast { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 560px) {
  .pathways { padding-bottom: 42px; }
  .team { padding-top: 60px; }
  .r-podcast-art span { font-size: clamp(1.65rem, 7.5vw, 2.3rem); }
}

/* Final requested corrections — slow market wire, locked pathways, refined footer. */
.market-snapshot-window {
  overflow: hidden;
}

.market-snapshot-marquee {
  display: flex;
  width: max-content;
  min-width: 0;
  animation: annaHousingWire 180s linear infinite;
  will-change: transform;
}

.market-snapshot-group[aria-hidden="true"] {
  display: flex;
}

.canada-market-ticker:hover .market-snapshot-marquee,
.canada-market-ticker:focus-within .market-snapshot-marquee {
  animation-play-state: paused;
}

.path-feature {
  width: min(var(--max), calc(100% - 56px));
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  overflow: hidden;
}

.path-feature > .path-image,
.path-feature > .path-content {
  min-width: 0;
  max-width: 100%;
}

.path-feature .path-image {
  position: relative;
  overflow: hidden;
}

.path-feature .path-image img {
  display: block;
  max-width: 100%;
}

.footer-top {
  grid-template-columns: minmax(0, 560px) minmax(300px, .55fr);
  align-items: center;
  gap: clamp(56px, 8vw, 120px);
  padding-top: clamp(54px, 6vw, 76px);
  padding-bottom: 40px;
}

.footer-brand {
  width: 100%;
  max-width: 560px;
}

.footer-brand-lockup {
  display: grid;
  width: min(390px, 100%);
  gap: 18px;
  justify-items: center;
}

.footer-brand-anna,
.footer-brand-real {
  position: relative;
  display: block;
  overflow: hidden;
}

.footer-brand-anna {
  width: min(330px, 100%);
  aspect-ratio: 640 / 249;
}

.footer-brand-anna img {
  position: absolute;
  width: 811px;
  max-width: none;
  height: auto;
  left: -57px;
  top: 0;
}

.footer-brand-real {
  width: 230px;
  height: 31px;
}

.footer-brand-real img {
  position: absolute;
  width: 497px;
  max-width: none;
  height: auto;
  left: -268px;
  top: -26px;
}

.footer-brand p {
  width: min(390px, 100%);
  max-width: none;
  margin: 24px 0 0;
  color: rgba(255,255,255,.66);
  font-size: .67rem;
  line-height: 1.55;
  letter-spacing: .105em;
  text-align: center;
  text-transform: uppercase;
}

.footer-contact {
  width: min(100%, 385px);
  justify-self: end;
  padding: clamp(25px, 3vw, 34px) clamp(26px, 3.4vw, 42px);
  border: 0;
  background: rgba(67, 88, 108, .16);
  text-align: left;
}

.footer-contact span {
  margin: 0 0 15px;
  color: #aec0ce;
  font: 700 .68rem/1.3 var(--sans);
  letter-spacing: .145em;
  text-transform: uppercase;
}

.footer-contact a {
  margin: 0;
  font: 400 clamp(1.12rem, 1.55vw, 1.38rem)/1.62 var(--serif);
  letter-spacing: -.035em;
  overflow-wrap: normal;
  word-break: keep-all;
}

@media (max-width: 980px) {
  .path-feature {
    width: min(var(--max), calc(100% - 42px));
    grid-template-columns: minmax(0, 1fr);
  }

  .path-feature-reverse .path-image { order: 0; }

  .footer-top {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .footer-contact {
    width: 100%;
    max-width: 420px;
    justify-self: start;
  }
}

@media (max-width: 560px) {
  .path-feature { width: min(var(--max), calc(100% - 32px)); }
  .footer-brand-lockup { width: min(340px, 100%); }
  .footer-brand-anna { width: min(300px, 100%); }
  .footer-brand-anna img { width: 737px; left: -52px; }
  .footer-brand p { width: min(340px, 100%); text-align: center; }
  .footer-contact { padding: 24px 22px; }
  .footer-contact a { font-size: clamp(1rem, 5.2vw, 1.18rem); }
  .market-snapshot-marquee { animation-duration: 200s; }
}

/* Market wire clarity pass — preserve the calm movement, improve actual reading. */
.canada-market-ticker {
  height: 32px;
  grid-template-columns: auto minmax(0, 1fr);
  background: #07111d;
  border-bottom-color: rgba(174, 192, 206, .24);
  box-shadow: 0 7px 18px rgba(4, 10, 18, .18);
}

.market-snapshot-label {
  padding: 0 22px;
  background: #21374b;
  border-right-color: rgba(255, 255, 255, .18);
  color: #f4f6f7;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .115em;
}

.market-snapshot-group > a,
.market-snapshot-group > span {
  gap: 10px;
  padding: 0 25px;
  border-right-color: rgba(174, 192, 206, .18);
  color: #f4f6f8;
  font-size: .76rem;
  font-weight: 600;
  line-height: 1.25;
}

.market-snapshot-group strong {
  color: #d3e3ef;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .105em;
}

.market-snapshot-group a:hover,
.market-snapshot-group a:focus-visible {
  background: rgba(174, 192, 206, .11);
  color: #fff;
  outline: none;
}

@media (max-width: 980px) {
  .canada-market-ticker { height: 30px; grid-template-columns: 1fr; }
  .market-snapshot-label { display: none; }
  .market-snapshot-group > a,
  .market-snapshot-group > span { padding: 0 20px; font-size: .72rem; }
  .market-snapshot-group strong { font-size: .66rem; }
}

@media (max-width: 560px) {
  .canada-market-ticker { height: 29px; }
  .market-snapshot-group > a,
  .market-snapshot-group > span { gap: 8px; padding: 0 17px; font-size: .69rem; }
  .market-snapshot-group strong { font-size: .64rem; }
}

/* Override the earlier tempo rules while retaining the reduced-motion fallback. */
.market-snapshot-marquee { animation-duration: 220s !important; }
@media (max-width: 700px) {
  .market-snapshot-marquee { animation-duration: 240s !important; }
}

@media (prefers-reduced-motion: reduce) {
  .market-snapshot-window { overflow-x: auto; }
  .market-snapshot-marquee {
    animation: none !important;
    transform: none !important;
    will-change: auto;
  }
  .market-snapshot-group[aria-hidden="true"] { display: none; }
}
