/* ============================================================
   MEDIATRIX — SECTIONS
   ============================================================ */

/* ---------- Preloader ---------- */
.preloader{
  position:fixed;inset:0;z-index:200;background:var(--ink);
  display:flex;align-items:center;justify-content:center;
  transition:opacity .7s var(--ease-hud),visibility .7s;
}
.preloader.is-done{opacity:0;visibility:hidden}
.preloader__inner{display:flex;flex-direction:column;gap:18px;align-items:center;width:min(340px,70vw)}
.preloader__mark{font-family:var(--font-display);font-weight:700;font-stretch:118%;font-size:1.5rem;letter-spacing:0;color:var(--text-hi)}
.preloader__bar{width:100%;height:4px;background:rgba(255,195,0,.25);border-radius:2px;overflow:hidden}
.preloader__bar i{display:block;height:100%;width:0;background:var(--yellow);border-radius:2px;transition:width .3s linear}
.preloader__status{font-size:.75rem;color:var(--text-low);letter-spacing:0}

/* ---------- Header ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:70;
  padding:calc(var(--shell) + 20px) calc(var(--shell) + 70px);
  pointer-events:none;
}
.site-header__bar{
  position:relative;z-index:66;   /* above the open menu, so the close control stays visible */
  display:flex;align-items:center;gap:34px;
  pointer-events:auto;
}
.brand{
  display:flex;align-items:center;gap:0;
  font-family:var(--font-display);font-weight:800;font-stretch:118%;
  font-variation-settings:"wdth" 118,"wght" 800;
  font-size:1.5rem;line-height:1;letter-spacing:0;color:var(--text-hi);
  white-space:nowrap;
}
.brand .brand__b{color:var(--yellow)}
.brand__short{display:none}

.nav{display:flex;align-items:center;gap:0}
.nav a{
  position:relative;padding:6px 18px;font-size:.875rem;font-weight:500;line-height:14px;
  color:var(--text-hi);opacity:.85;transition:opacity .3s var(--ease-out),color .3s var(--ease-out);
}
.nav a::after{
  content:"";position:absolute;left:18px;right:18px;bottom:0;height:1px;background:var(--yellow);
  transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease-hud);
}
.nav a:hover,.nav a:focus-visible{opacity:1;color:var(--yellow-soft)}
.nav a:hover::after,.nav a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.nav__cta{margin-left:auto}
/* full-screen menu: hamburger on small screens, capsule "+" once scrolled */
.nav--mobile{
  position:fixed;inset:0;z-index:65;
  display:flex!important;flex-direction:column;justify-content:center;gap:4px;
  background:rgba(10,10,11,.97);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  padding:0 var(--gutter);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .5s var(--ease-hud),visibility .5s;
}
.nav-open .nav--mobile{opacity:1;visibility:visible;pointer-events:auto}
.nav--mobile a{
  font-family:var(--font-display);letter-spacing:var(--display-ls);font-weight:var(--display-weight);font-stretch:var(--display-stretch);
  font-variation-settings:var(--display-axes);
  font-size:clamp(1.75rem,7vw,2.75rem);line-height:1.1;padding:8px 0;opacity:1;
  transform:translateY(24px);transition:transform .6s var(--ease-hud),opacity .6s;
}
.nav--mobile a::after{display:none}
.nav-open .nav--mobile a{transform:none}
.nav-open .nav--mobile a:nth-child(1){transition-delay:.08s}
.nav-open .nav--mobile a:nth-child(2){transition-delay:.14s}
.nav-open .nav--mobile a:nth-child(3){transition-delay:.2s}
.nav-open .nav--mobile a:nth-child(4){transition-delay:.26s}
.nav-open .nav--mobile a:nth-child(5){transition-delay:.32s}

/* condensed capsule on scroll */
.site-header__capsule{
  display:flex;align-items:center;gap:0;
  background:rgba(19,19,20,.82);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-radius:8px;
  padding:0;
  width:auto;
  transition:background .8s var(--ease-hud),padding .8s var(--ease-hud),box-shadow .8s var(--ease-hud);
}
.is-scrolled .site-header__capsule{
  min-width:228px;height:50px;padding:0 14px;border-radius:6px;
  background:rgba(27,27,29,.92);
  box-shadow:inset 0 0 0 1px rgba(228,228,228,.06);
}
.is-scrolled .brand__full{display:none}
.is-scrolled .brand__short{display:inline}
/* "+" menu button inside the capsule, shown once scrolled */
.capsule-plus{
  position:relative;flex:none;width:0;height:22px;margin-left:auto;padding:0;
  border:0;background:none;cursor:pointer;overflow:hidden;
  opacity:0;visibility:hidden;
  transition:width .8s var(--ease-hud),opacity .8s var(--ease-hud),visibility .8s;
}
.capsule-plus i{
  position:absolute;left:50%;top:50%;width:12px;height:1px;margin:-.5px 0 0 -6px;
  background:var(--text-mid);transition:transform .4s var(--ease-hud),background .3s;
}
.capsule-plus i + i{transform:rotate(90deg)}
.is-scrolled .capsule-plus{width:22px;opacity:1;visibility:visible}
.capsule-plus:hover i,.capsule-plus:focus-visible i{background:var(--yellow)}
.nav-open .capsule-plus i{transform:rotate(45deg)}
.nav-open .capsule-plus i + i{transform:rotate(135deg)}
/* the header CTA steps aside once the capsule takes over */
.nav__cta{transition:opacity .6s var(--ease-hud),visibility .6s,color var(--dur) var(--ease-hud),box-shadow var(--dur) var(--ease-hud)}
.is-scrolled .nav__cta{opacity:0;visibility:hidden}
.header-current{
  font-size:.8125rem;line-height:1;opacity:0;width:0;padding-left:0;
  transform:translateX(-40px);pointer-events:none;white-space:nowrap;overflow:hidden;
  transition:.8s var(--ease-hud);
}
.is-scrolled .header-current{opacity:.55;width:auto;padding:0 16px 0 30px;transform:none}
.is-scrolled .nav{display:none}

/* mobile menu */
.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer;pointer-events:auto}
.nav-toggle i{display:block;width:22px;height:2px;background:var(--text-hi);transition:transform .4s var(--ease-hud),opacity .3s}
.nav-toggle i + i{margin-top:5px}
.nav-open .nav-toggle i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-open .nav-toggle i:nth-child(2){opacity:0}
.nav-open .nav-toggle i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Hero ---------- */
.hero{padding-top:clamp(140px,17vw,200px);padding-bottom:clamp(28px,4vw,44px)}
.hero__frame{
  position:relative;max-width:1040px;margin-inline:auto;
  padding:40px;text-align:center;
}
.hero__frame h1{margin-inline:auto}
/* Brand mantra — sits under the campaign headline as a signature stamp */
.hero__tag{
  display:flex;align-items:center;justify-content:center;gap:14px;
  margin-top:20px;
  font-size:.8125rem;font-weight:500;letter-spacing:0;
  color:var(--yellow-soft);text-transform:uppercase;
}
.hero__tag::before,.hero__tag::after{
  content:"";display:block;width:clamp(18px,5vw,64px);height:1px;
  background:linear-gradient(to right,transparent,rgba(255,195,0,.7));
}
.hero__tag::after{background:linear-gradient(to left,transparent,rgba(255,195,0,.7))}
.hero__row{
  display:flex;align-items:stretch;gap:12px;
  max-width:1040px;margin:22px auto 0;
}
.hero__row .marquee--boxed{flex:1 1 auto;min-width:0}
.hero__row .btn{flex:none}
.hero__meta{
  display:flex;justify-content:center;gap:28px;flex-wrap:wrap;
  margin-top:26px;font-size:.75rem;color:var(--text-low);letter-spacing:0;
}


/* ---------- Trust strip ---------- */
.trust{padding-block:22px}
.trust .marquee__track > * > span{
  display:inline-flex;align-items:center;gap:.9em;
  padding-inline:1.6em;font-size:.75rem;font-weight:500;color:var(--text-mid);letter-spacing:0;
}
.trust .marquee__track > * > span::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--yellow);flex:none}

/* ---------- Discover ---------- */
.discover__grid{
  display:grid;grid-template-columns:1fr minmax(0,520px);gap:clamp(32px,5vw,80px);align-items:end;
}
.problem{display:grid;gap:18px;margin:0}
.problem__item{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:baseline}
.problem dt{font-size:.75rem;font-weight:600;color:var(--yellow);white-space:nowrap;letter-spacing:0}
.problem dd{margin:0;font-size:.9375rem;line-height:1.35;color:var(--text-mid)}
.pull{
  font-family:var(--font-display);font-weight:700;font-stretch:112%;
  font-variation-settings:"wdth" 112,"wght" 700;
  font-size:clamp(1.1rem,1.7vw,1.4rem);line-height:1.15;color:var(--text-hi);
}

/* ---------- Cursor trail cards ---------- */
.trail{position:relative;height:200px;pointer-events:none;overflow:visible}
.trail__card{
  position:absolute;top:0;left:0;width:86px;aspect-ratio:1/1.6;
  background:var(--yellow);opacity:0;
  clip-path:polygon(0 4%,4% 0,54% 0,58% 3%,96% 3%,100% 7%,100% 96%,96% 100%,58% 100%,54% 97%,4% 97%,0 93%);
  display:grid;place-items:center;padding:8px;
  will-change:transform,opacity;
}
.trail__card span{
  font-size:.5625rem;font-weight:600;line-height:1.15;color:var(--ink);
  text-align:center;letter-spacing:0;
}
.trail__hint{
  position:absolute;inset:0;display:grid;place-items:center;
  font-size:.75rem;color:var(--text-low);letter-spacing:0;
  transition:opacity .4s;
}
.trail.is-active .trail__hint{opacity:0}

/* ---------- Giant band ---------- */
.band-giant{padding-block:clamp(90px,12vw,170px);overflow:hidden}
.lobby-bg{object-position:50% 40%}

/* Services now live in services-3d.css as the 3D discipline carousel. */

/* folder shape */
.folder{
  position:relative;background:rgba(255,195,0,.10);
  box-shadow:inset 0 0 0 1px rgba(255,195,0,.32);
  padding:34px 30px;width:fit-content;max-width:100%;
  clip-path:polygon(5.7% 0,0 10.4%,0 94.6%,3% 100%,44.6% 100%,47.4% 95%,97% 95%,100% 89.6%,100% 15.4%,94.3% 5%,52.9% 5%,50.1% 0);
}
.folder--wide{width:100%;padding:44px 40px 40px}

/* ---------- Mission band ---------- */
.mission-band{padding-block:clamp(110px,15vw,200px);text-align:center}
.mission-band .d-xl{line-height:.86}

/* ---------- Pillars (file cards) ---------- */
.pillars__track{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(320px,420px);
  gap:20px;overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;padding-bottom:14px;
  scrollbar-width:thin;scrollbar-color:var(--yellow-soft) transparent;
}
.pillars__track::-webkit-scrollbar{height:4px}
.pillars__track::-webkit-scrollbar-thumb{background:var(--yellow-soft)}
.file-card{
  scroll-snap-align:start;
  position:relative;min-height:330px;padding:50px 35px 40px;
  display:flex;flex-direction:column;justify-content:space-between;gap:26px;
  background:rgba(25,30,43,.9);box-shadow:inset 0 0 0 1px rgba(227,227,227,.1);
  clip-path:polygon(31.4% 0,28.6% 4%,3% 4%,0 8.1%,0 91.9%,3% 96%,28.6% 96%,31.4% 100%,68.6% 100%,71.4% 96%,97% 96%,100% 91.9%,100% 8.1%,97% 4%,71.4% 4%,68.6% 0);
  transition:background .4s var(--ease-out);
}
.file-card:hover{background:rgba(255,255,255,.9)}
.file-card__q{font-size:1rem;line-height:1.35;color:var(--text-hi)}
.file-card__q b{color:var(--yellow);font-weight:400}
.file-card__by{font-size:.75rem;line-height:1.5;color:var(--text-mid);letter-spacing:0}
.file-card__by strong{display:block;color:var(--spark);font-weight:600;margin-bottom:4px}
.file-card__tag{
  position:absolute;top:14px;left:35px;font-size:.625rem;color:var(--yellow-soft);letter-spacing:0;
}

/* ---------- Industries list ---------- */
.ind{border-top:1px solid var(--hairline)}
.ind__row{
  position:relative;display:grid;grid-template-columns:auto 1fr auto;
  gap:clamp(18px,4vw,60px);align-items:center;
  padding:clamp(22px,2.6vw,34px) 0;border-bottom:1px solid var(--hairline);
  transition:padding-left .6s var(--ease-hud);overflow:hidden;
}
.ind__row::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:100%;background:var(--yellow);
  transform:scaleX(0);transform-origin:left;z-index:-1;
  transition:transform .7s var(--ease-hud);
}
.ind__row:hover{padding-left:24px}
.ind__row:hover::before{transform:scaleX(1)}
.ind__no{font-size:.75rem;color:var(--yellow);letter-spacing:0;transition:color .5s}
.ind__name{
  display:block;
  font-family:var(--font-display);letter-spacing:var(--display-ls);font-weight:var(--display-weight);font-stretch:var(--display-stretch);
  font-variation-settings:var(--display-axes);
  font-size:clamp(1.15rem,2.5vw,2rem);line-height:1;color:var(--text-hi);
}
.ind__need{display:block;font-size:.75rem;color:var(--text-mid);margin-top:8px;letter-spacing:0}
.ind__arrow{width:18px;height:18px;flex:none;transition:transform .5s var(--ease-out)}
.ind__arrow path{stroke:var(--yellow);stroke-width:2;fill:none;transition:stroke .5s}
.ind__row:hover .ind__no,.ind__row:hover .ind__need{color:rgba(10,10,11,.75)}
.ind__row:hover .ind__name{color:var(--ink)}
.ind__row:hover .ind__arrow{transform:translate(4px,-4px)}
.ind__row:hover .ind__arrow path{stroke:var(--ink)}
.ind__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ind__tags span{
  font-size:.625rem;padding:4px 8px;letter-spacing:0;
  color:var(--text-mid);box-shadow:inset 0 0 0 1px var(--hairline);
}
.ind__row:hover .ind__tags span{color:var(--ink);box-shadow:inset 0 0 0 1px rgba(10,10,11,.4)}

/* ---------- Maturity band ---------- */
.maturity{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px}
.maturity__step{
  position:relative;padding:26px 20px 22px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(19,19,20,.7));
  box-shadow:inset 0 0 0 1px var(--hairline);
  --cut:18px;
  clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut));
  transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out);
}
.maturity__step:nth-child(1){margin-top:66px}
.maturity__step:nth-child(2){margin-top:44px}
.maturity__step:nth-child(3){margin-top:22px}
.maturity__step:hover{transform:translateY(-8px);box-shadow:inset 0 0 0 1px var(--yellow)}
.maturity__lv{font-size:.625rem;color:var(--yellow);letter-spacing:0}
.maturity__name{
  font-family:var(--font-display);letter-spacing:var(--display-ls);font-weight:var(--display-weight);font-stretch:var(--display-stretch);
  font-variation-settings:var(--display-axes);
  font-size:1.25rem;line-height:1;color:var(--text-hi);margin:10px 0 12px;
}
.maturity__desc{font-size:.75rem;line-height:1.45;color:var(--text-mid)}
.maturity__step:last-child{background:linear-gradient(180deg,rgba(255,195,0,.3),rgba(19,19,20,.7));box-shadow:inset 0 0 0 1px var(--yellow)}
.maturity__bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--spark);opacity:.5}
.maturity__step:last-child .maturity__bar{background:var(--yellow);opacity:1}

/* ---------- Contact ---------- */
.contact__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(36px,5vw,80px)}
.socials{display:flex;flex-direction:column;gap:12px;margin-top:30px}
.socials a{display:flex;align-items:center;gap:18px;width:fit-content;transition:opacity .3s,transform .3s}
.socials a i{
  width:36px;height:36px;flex:none;display:grid;place-items:center;
  background:rgba(255,195,0,.14);box-shadow:inset 0 0 0 1px rgba(255,195,0,.45);
  transition:transform .3s var(--ease-out),background .3s;
  --cut:8px;
  clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut));
}
.socials a i svg{width:16px;height:16px;fill:var(--yellow-soft)}
.socials a span{font-size:.875rem}
.socials:hover a:not(:hover){opacity:.55}
.socials a:hover i{transform:translateY(-3px) scale(1.06);background:var(--yellow)}
.socials a:hover i svg{fill:var(--ink)}

.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{position:relative;display:flex;flex-direction:column;gap:6px}
.field--full{grid-column:span 2}
.field label{font-size:.6875rem;color:var(--yellow-soft);letter-spacing:0}
.field input,.field textarea{
  background:transparent;border:0;border-bottom:1px solid rgba(227,227,227,.22);
  padding:10px 2px;font-size:.875rem;color:var(--text-hi);
  transition:border-color .4s var(--ease-out);
}
.field textarea{resize:none;min-height:86px;line-height:1.4}
.field input:focus,.field textarea:focus{outline:0;border-bottom-color:var(--yellow)}
.field input::placeholder,.field textarea::placeholder{color:var(--text-low)}
.form__consent{grid-column:span 2;font-size:.6875rem;line-height:1.3;letter-spacing:0;color:var(--yellow-soft);text-transform:none}
.form__consent a{text-decoration:underline;text-underline-offset:3px}
.form__actions{grid-column:span 2;display:flex;justify-content:flex-end}
.form__note{
  grid-column:span 2;font-size:.75rem;color:var(--text-mid);
  min-height:1.2em;letter-spacing:0;
}
.form__note.err{color:var(--spark)}
.contact__direct{margin-top:34px;display:grid;gap:6px}
.contact__direct span{font-size:.6875rem;color:var(--text-low);letter-spacing:0}
.contact__direct a{font-size:1rem;color:var(--text-hi)}

/* ---------- Credibility marquee ---------- */
.cred{padding-block:clamp(44px,6vw,72px)}
.cred__marquee{margin-top:34px}
.cred__marquee .marquee__track > * > span{
  display:inline-flex;align-items:center;padding-inline:2.2em;
  font-size:.875rem;font-weight:500;color:var(--text-mid);letter-spacing:0;white-space:nowrap;
}
.cred__marquee .marquee__track > * > span b{color:var(--text-hi);font-weight:600}

/* ---------- Resources ---------- */
.res{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.res__card{
  position:relative;padding:34px 28px 28px;display:flex;flex-direction:column;gap:16px;min-height:290px;
  background:rgba(19,19,20,.85);box-shadow:inset 0 0 0 1px var(--hairline);
  --cut:24px;
  clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut));
  transition:background .45s var(--ease-out),box-shadow .45s var(--ease-out),transform .45s var(--ease-out);
}
.res__card:hover{background:rgba(255,255,255,.9);box-shadow:inset 0 0 0 1px var(--yellow);transform:translateY(-6px)}
.res__no{font-size:.625rem;color:var(--yellow);letter-spacing:0}
.res__title{
  font-family:var(--font-display);letter-spacing:var(--display-ls);font-weight:var(--display-weight);font-stretch:var(--display-stretch);
  font-variation-settings:var(--display-axes);
  font-size:1.125rem;line-height:1.1;color:var(--text-hi);
}
.res__list{display:grid;gap:7px;margin-top:auto}
.res__list li{font-size:.75rem;line-height:1.4;color:var(--text-mid);padding-left:14px;position:relative}
.res__list li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:1px;background:var(--yellow)}
.res__card .link-u{margin-top:18px}

/* ---------- Footer ---------- */
.site-footer{position:relative;background:var(--ink-2);padding-block:clamp(56px,7vw,80px) 40px;margin-top:60px}
.footer-mantra{
  font-family:var(--font-display);letter-spacing:var(--display-ls);font-weight:var(--display-weight);font-stretch:var(--display-stretch);
  font-variation-settings:var(--display-axes);
  font-size:clamp(1.15rem,2.6vw,1.9rem);line-height:1.05;color:var(--text-hi);max-width:20ch;
}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(28px,4vw,60px);align-items:start}
.footer-h{font-size:.6875rem;color:var(--yellow-soft);letter-spacing:0;margin-bottom:16px}
.footer-links{display:grid;gap:10px}
.footer-links a{font-size:.8125rem;color:var(--text-mid);transition:color .3s}
.footer-links a:hover{color:var(--yellow)}
.footer-bottom{
  margin-top:48px;padding-top:22px;border-top:1px solid var(--hairline);
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-size:.6875rem;color:var(--text-low);letter-spacing:0;
}
.footer-disclaimer{
  margin-top:20px;font-size:.6875rem;line-height:1.5;color:var(--text-low);
  text-transform:none;max-width:90ch;letter-spacing:0;
}
.footer-signal{
  margin-top:44px;padding:22px 26px;background:rgba(255,195,0,.12);
  box-shadow:inset 0 0 0 1px rgba(255,195,0,.35);
  display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
  --cut:16px;
  clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut));
}
.footer-signal p{font-size:.8125rem;color:var(--text-mid)}
.footer-signal b{color:var(--yellow-soft);font-weight:600;display:block;margin-bottom:6px;font-size:.6875rem;letter-spacing:0}

/* ---------- Cookie bar ---------- */
.cookiebar{
  position:fixed;left:0;right:0;bottom:calc(var(--shell) + 8px);z-index:80;
  display:flex;align-items:stretch;gap:5px;justify-content:center;
  padding-inline:calc(var(--shell) + 20px);
  transform:translateY(140%);transition:transform .7s var(--ease-hud);
}
.cookiebar.is-in{transform:none}
.cookiebar__msg{
  display:flex;align-items:center;background:rgba(255,195,0,.14);
  border:1px solid var(--yellow);border-radius:5px;padding:5px 0;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  font-size:.8125rem;line-height:1;max-width:640px;flex:1 1 auto;min-width:0;
}
.cookiebar__msg .marquee__track > * > span{padding-inline:1.6em;font-size:.75rem;letter-spacing:0}
.cookiebar button{
  padding:6px 10px;border-radius:5px;border:0;cursor:pointer;
  font-size:.75rem;letter-spacing:0;white-space:nowrap;
  display:flex;align-items:center;gap:6px;
}
.cookiebar .accept{background:var(--yellow);color:var(--ink);font-weight:600}
.cookiebar .accept:hover{background:var(--yellow-soft)}
.cookiebar .reject{
  background:rgba(255,255,255,.14);color:var(--text-hi);
  outline:.5px solid rgba(255,255,255,.36);outline-offset:-1px;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.cookiebar .reject:hover{background:rgba(255,255,255,.24)}

/* ---------- Back to top ---------- */
.to-top{
  position:fixed;right:calc(var(--shell) + 18px);bottom:calc(var(--shell) + 60px);z-index:75;
  width:42px;height:42px;display:grid;place-items:center;border:0;cursor:pointer;
  background:rgba(255,195,0,.9);opacity:0;pointer-events:none;
  transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);
  --cut:10px;
  clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut));
}
.is-scrolled .to-top{opacity:1;pointer-events:auto}
.to-top:hover{transform:translateY(-4px)}
.to-top svg{width:15px;height:15px;fill:var(--ink)}

/* ============================================================
   ABOUT — extruded spinning mark + story layout
   ============================================================ */

/* ---------- 3D mark ---------- */
.mark3d{
  position:relative;
  /* explicit width: never inherit from an auto-sized parent */
  width:var(--mark-size,360px);
  max-width:100%;
  aspect-ratio:1.2709;          /* the mark's own ratio */
  perspective:1400px;
  margin-inline:auto;
}
.mark3d__glow{
  position:absolute;inset:-26%;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,rgba(255,195,0,.22),transparent 62%);
  filter:blur(18px);
}
.mark3d__stack{
  position:absolute;inset:0;
  transform-style:preserve-3d;
  animation:mark3dSpin var(--spin,7s) linear infinite;
  will-change:transform;
}
.mark3d__stack{transition:opacity .6s var(--ease-out)}
/* WebGL render (mark-gl.js): oversized so the swaying mark never clips */
.mark3d__gl{
  position:absolute;left:-30%;top:-30%;width:160%;height:160%;
  pointer-events:none;opacity:0;transition:opacity .8s var(--ease-out);
}
.mark3d.is-gl .mark3d__gl{opacity:1}
.mark3d.is-gl .mark3d__stack{opacity:0;animation-play-state:paused}
.mark3d.is-gl .mark3d__glow,.mark3d.is-gl + .mark3d__shadow{opacity:0;animation:none}
.mark3d__layer{position:absolute;inset:0;transform-style:preserve-3d}
.mark3d__layer svg{width:100%;height:100%;display:block}
@keyframes mark3dSpin{
  from{transform:rotateX(-9deg) rotateY(0deg)}
  to  {transform:rotateX(-9deg) rotateY(360deg)}
}
.mark3d:hover .mark3d__stack{animation-duration:calc(var(--spin,7s) * 2.6)}

/* gentle float, independent of the spin */
.mark3d__float{animation:mark3dFloat 7s ease-in-out infinite}
@keyframes mark3dFloat{
  0%,100%{transform:translateY(-12px)}
  50%    {transform:translateY(12px)}
}

/* reflected pool under the mark */
.mark3d__shadow{
  position:absolute;left:50%;bottom:-9%;width:62%;height:7%;
  transform:translateX(-50%);
  background:radial-gradient(ellipse at 50% 50%,rgba(255,195,0,.28),transparent 70%);
  filter:blur(7px);
  animation:mark3dPool 7s ease-in-out infinite;
}
@keyframes mark3dPool{
  0%,100%{opacity:.45;width:58%}
  50%    {opacity:.8;width:68%}
}

/* ---------- About hero: copy | mark | cards ---------- */
.about-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.95fr) minmax(0,.62fr);
  gap:clamp(24px,3.5vw,56px);
  align-items:center;
}
.about-hero__mark{position:relative;--mark-size:400px}
.about-hero__aside{display:flex;flex-direction:column;align-items:flex-end;gap:18px}

/* stacked "see our work" cards, angled like the reference */
.stackcards{position:relative;width:170px;height:210px;margin-left:auto}
.stackcards__card{
  position:absolute;inset:0;width:104px;aspect-ratio:1/1.6;
  background:var(--yellow);
  clip-path:polygon(0 4%,4% 0,54% 0,58% 3%,96% 3%,100% 7%,100% 96%,96% 100%,58% 100%,54% 97%,4% 97%,0 93%);
  transition:transform .6s var(--ease-out);
  display:grid;place-items:center;padding:10px;
}
.stackcards__card span{
  font-size:.5625rem;font-weight:600;line-height:1.2;color:var(--ink);
  text-align:center;letter-spacing:0;
}
.stackcards__card:nth-child(1){transform:rotate(-12deg) translate(14px,4px);background:var(--yellow-deep)}
.stackcards__card:nth-child(2){transform:rotate(4deg) translate(46px,-8px)}
.stackcards:hover .stackcards__card:nth-child(1){transform:rotate(-16deg) translate(-2px,-26px)}
.stackcards:hover .stackcards__card:nth-child(2){transform:rotate(9deg) translate(52px,-34px)}
.stackcards__label{
  position:absolute;right:0;bottom:-6px;text-align:right;
  font-family:var(--font-display);letter-spacing:var(--display-ls);font-weight:var(--display-weight);font-stretch:var(--display-stretch);
  font-variation-settings:var(--display-axes);
  font-size:1.15rem;line-height:1;color:var(--text-hi);
}
.stackcards__label em{
  display:block;font-style:normal;font-family:var(--font-mono);
  font-size:.625rem;font-weight:500;color:var(--yellow-soft);
  letter-spacing:0;margin-bottom:6px;
}

/* ---------- Story / values ---------- */
.story{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,80px)}
.steps{display:grid;gap:2px;counter-reset:step}
.steps li{
  counter-increment:step;
  display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:baseline;
  padding:16px 0;border-bottom:1px solid var(--hairline);
}
.steps li::before{
  content:"0" counter(step);
  font-size:.6875rem;font-weight:600;color:var(--yellow);letter-spacing:0;
}
.steps li span{font-size:.9375rem;line-height:1.35;color:var(--text-mid)}

.values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.value{
  padding:24px 22px;background:var(--panel);
  box-shadow:inset 0 0 0 1px var(--hairline);
  --cut:20px;
  clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut));
  transition:box-shadow .45s var(--ease-out),transform .45s var(--ease-out);
}
.value:hover{box-shadow:inset 0 0 0 1px var(--yellow);transform:translateY(-5px)}
.value h3{font-size:1.05rem;line-height:1.1;margin-bottom:10px}
.value p{font-size:.75rem;line-height:1.45;color:var(--text-mid)}

/* ---------- Partners ---------- */
.partners{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.partner{
  position:relative;padding:0 0 26px;
  border-top:2px solid var(--yellow);
}
.partner__slot{
  aspect-ratio:1/1;margin-top:18px;
  background:
    repeating-linear-gradient(-45deg,rgba(255,195,0,.07) 0 8px,transparent 8px 16px),
    var(--ink-2);
  box-shadow:inset 0 0 0 1px var(--hairline);
  display:grid;place-items:center;
  --cut:22px;
  clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut));
}
.partner__slot span{font-size:.625rem;color:var(--text-low);letter-spacing:0}
.partner__name{
  font-family:var(--font-display);letter-spacing:var(--display-ls);font-weight:var(--display-weight);font-stretch:var(--display-stretch);
  font-variation-settings:var(--display-axes);
  font-size:1.1rem;line-height:1;color:var(--text-hi);margin:18px 0 8px;
}
.partner__role{font-size:.6875rem;color:var(--yellow-soft);letter-spacing:0}

/* ---------- Quote block ---------- */
.quote{
  position:relative;max-width:60ch;margin-inline:auto;text-align:center;
  padding:clamp(28px,4vw,44px) clamp(20px,3vw,40px);
}
.quote p{
  font-family:var(--font-display);font-weight:700;font-stretch:112%;
  font-variation-settings:"wdth" 112,"wght" 700;
  font-size:clamp(1.05rem,2.1vw,1.6rem);line-height:1.2;color:var(--text-hi);
}
.quote cite{
  display:block;margin-top:20px;font-style:normal;
  font-size:.6875rem;color:var(--yellow-soft);letter-spacing:0;
}


/* ============================================================
   STUDIO BANNER — wide media, chamfered base, corner brackets
   ============================================================ */
.banner{
  --inset:clamp(40px,8.1vw,156px);
  position:relative;
  padding-inline:calc(var(--shell) + var(--inset));
  margin-top:clamp(28px,4vw,56px);
}
.banner__media{
  --cut:clamp(24px,3.1vw,60px);
  aspect-ratio:16/7;overflow:hidden;background:var(--ink-2);
  clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,var(--cut) 100%,0 calc(100% - var(--cut)));
}
.banner__media img{width:100%;height:100%;object-fit:cover;object-position:50% 38%}
.banner__bracket{
  position:absolute;bottom:-32px;
  left:max(calc(var(--shell) + 6px),calc(var(--shell) + var(--inset) - 76px));
  width:50px;height:50px;overflow:visible;
  fill:none;stroke:var(--yellow);stroke-width:2;
}
.banner__bracket--r{
  left:auto;right:max(calc(var(--shell) + 6px),calc(var(--shell) + var(--inset) - 76px));
  transform:scaleX(-1);
}
/* dashed trace from the banner's edge down to the right rail */
.banner__trace{
  position:absolute;right:var(--shell);bottom:20px;width:var(--inset);height:85px;overflow:visible;
  fill:none;stroke:rgba(255,195,0,.45);stroke-width:1;stroke-dasharray:5 5;
}
.banner__trace path{vector-effect:non-scaling-stroke}


/* ============================================================
   DISCOVER — the reference block, 1:1
   ============================================================ */
.discover{padding-block:clamp(72px,8vw,120px) clamp(60px,7vw,100px)}
.banner + .discover{padding-top:clamp(96px,9vw,172px)}
/* full-bleed: the block runs rail to rail like the reference */
.discover > .shell{max-width:none;padding-inline:calc(var(--shell) + 40px)}
.discover__row{
  display:grid;
  grid-template-columns:minmax(0,min(600px,38vw)) minmax(0,1fr) auto;
  gap:clamp(24px,3vw,40px);
  align-items:center;
}
.discover__copy{display:flex;flex-direction:column;align-items:flex-start}
.discover__copy :is(h1,h2){margin-top:22px;font-size:clamp(1.8rem,2.5vw,3rem)}

/* thin sparkle under the headline */
.spark{display:block;width:40px;height:40px;margin:36px 0 0 3px;overflow:visible}
.spark path{fill:none;stroke:var(--yellow);stroke-width:1}

/* rule whose left end drops away at 45deg to the rail */
.hud-rule{
  display:block;position:relative;
  width:min(100%,600px);height:1px;
  background:rgba(255,195,0,.42);
  margin-top:clamp(32px,2.9vw,55px);
}
.hud-rule::after{
  content:"";position:absolute;left:0;top:0;
  width:56px;height:1px;background:rgba(255,195,0,.42);
  transform:rotate(135deg);transform-origin:left center;
}
.discover__body{
  margin-top:30px;max-width:560px;
  font-size:.9375rem;line-height:1.34;letter-spacing:0;color:rgba(228,228,228,.84);
}

/* button → wire → text link */
.discover__cta{display:flex;align-items:center;gap:0;margin-top:22px;flex-wrap:wrap}
.discover__cta .btn{clip-path:none;border-radius:6px;overflow:hidden;padding:12px 17px;font-size:1.0625rem;gap:20px}
/* connector: short drop, run, square terminal */
.wire{
  position:relative;display:block;width:22px;height:1px;
  background:rgba(255,195,0,.55);margin:2px 20px 0 23px;flex:none;
}
.wire::before{
  content:"";position:absolute;left:-8px;top:0;
  width:10px;height:1px;background:rgba(255,195,0,.55);
  transform:rotate(32deg);transform-origin:right center;
}
.wire::after{
  content:"";position:absolute;right:-4px;top:-1.5px;
  width:4px;height:4px;background:var(--yellow);
}
.discover__link{
  font-size:.8125rem;font-weight:500;letter-spacing:0;color:var(--yellow);
  padding-bottom:3px;
  background-image:linear-gradient(var(--yellow),var(--yellow));
  background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;
  transition:background-size .5s var(--ease-hud),color .3s;
}
.discover__link:hover,.discover__link:focus-visible{background-size:100% 1px;color:var(--text-hi)}

/* the mark sits in the middle column, nudged right of centre */
.discover__mark{
  position:relative;--mark-size:380px;width:100%;
  display:flex;justify-content:center;padding-left:clamp(0px,1.4vw,26px);
}

/* stacked cards, label overlapping from the left, wire out to the rail */
.discover__aside{position:relative;justify-self:end;align-self:end;margin:0 clamp(40px,6.2vw,119px) 16px 0}
.portcards{position:relative;display:block;width:150px;height:145px;text-decoration:none}
.portcards__stack{position:absolute;inset:0;display:block}
.portcards__card{
  position:absolute;top:0;width:92px;height:126px;display:block;border-radius:5px;
  background:
    linear-gradient(170deg,rgba(10,10,11,.25),rgba(10,10,11,.72) 80%),
    url("../img/mediatrix-lobby.jpg") 50% 35%/cover no-repeat,
    var(--ink-2);
  box-shadow:inset 0 0 0 2px var(--yellow);
  transition:transform .6s var(--ease-out);
}
.portcards__card:nth-child(1){left:0;transform:rotate(-10deg) translateY(10px)}
.portcards__card:nth-child(2){left:54px;transform:rotate(14deg) translateY(6px)}
.portcards__card:nth-child(1){background-image:linear-gradient(170deg,rgba(10,10,11,.25),rgba(10,10,11,.72) 80%),url("../img/mediatrix-billboard.webp");background-position:0 0,62% 50%}
.portcards__card:nth-child(2){background-image:linear-gradient(170deg,rgba(10,10,11,.25),rgba(10,10,11,.72) 80%),url("../img/mediatrix-crystal.webp");background-position:0 0,58% 45%}
.portcards:hover .portcards__card:nth-child(1){transform:rotate(-14deg) translate(-10px,-6px)}
.portcards:hover .portcards__card:nth-child(2){transform:rotate(18deg) translate(8px,-12px)}
.portcards__label{
  position:absolute;left:-104px;bottom:-4px;z-index:2;text-align:left;
  font-family:var(--font-display);letter-spacing:var(--display-ls);font-weight:var(--display-weight);font-stretch:var(--display-stretch);
  font-variation-settings:var(--display-axes);
  font-size:2.25rem;line-height:.92;color:var(--text-hi);
  text-transform:uppercase;white-space:nowrap;
  text-shadow:0 2px 14px rgba(10,10,11,.85);
}
.portcards__label em{
  display:block;font-style:normal;font-family:var(--font-display);letter-spacing:var(--display-ls);
  font-size:.62em;font-weight:var(--display-weight);color:var(--text-mid);
}
.portcards__wire{position:absolute;left:calc(100% + 38px);top:52%;width:108px;height:12px;overflow:visible}
.portcards__wire rect{fill:var(--yellow)}
.portcards__wire path{fill:none;stroke:rgba(255,195,0,.6);stroke-width:1}

/* ---------- the problem strip that follows ---------- */
.problem-section{padding-top:0}
.problem--row{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,44px)}
.problem--row .problem__item{grid-template-columns:1fr;gap:9px;align-items:start}
.problem--row dt{font-size:.6875rem;letter-spacing:0}
.about__pull{margin-top:clamp(26px,3vw,36px);max-width:64ch}

/* ============================================================
   V3 COMPONENTS — subscription model
   ============================================================ */

/* ---------- 4 pillars / 3 steps (corner-cut HUD cards) ---------- */
.pillars4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:44px}
.steps3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:44px}
.pillars5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:44px}
.hcard{
  position:relative;padding:28px 24px 26px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(19,19,20,.7));
  box-shadow:inset 0 0 0 1px var(--hairline);
  --cut:20px;
  clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut));
  transition:box-shadow .45s var(--ease-out),transform .45s var(--ease-out);
}
.hcard:hover{box-shadow:inset 0 0 0 1px var(--yellow);transform:translateY(-6px)}
.hcard__no{font-size:.625rem;color:var(--yellow);letter-spacing:0}
.hcard__big{
  font-family:var(--font-display);letter-spacing:var(--display-ls);font-weight:var(--display-weight);font-stretch:var(--display-stretch);
  font-variation-settings:var(--display-axes);
  font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1;color:var(--yellow);
  margin:12px 0 6px;
}
.hcard__name{
  font-family:var(--font-display);letter-spacing:var(--display-ls);font-weight:var(--display-weight);font-stretch:var(--display-stretch);
  font-variation-settings:var(--display-axes);
  font-size:1.05rem;line-height:1.08;color:var(--text-hi);margin:10px 0 10px;
}
.hcard__desc{font-size:.75rem;line-height:1.45;color:var(--text-mid)}
.hcard__bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--yellow);opacity:.45}
.hcard:hover .hcard__bar{opacity:1}

/* ---------- Comparison table ---------- */
.compare{margin-top:44px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--yellow-soft) transparent}
.compare table{width:100%;min-width:760px;border-collapse:collapse;font-size:.8125rem}
.compare th,.compare td{
  padding:16px 18px;text-align:left;vertical-align:top;
  border-bottom:1px solid var(--hairline);line-height:1.35;
}
.compare thead th{
  font-size:.6875rem;font-weight:600;letter-spacing:0;color:var(--text-mid);
  border-bottom:1px solid rgba(255,195,0,.4);white-space:nowrap;
}
.compare thead th:first-child{color:transparent}
.compare tbody th{
  font-weight:600;color:var(--text-hi);white-space:nowrap;
  font-size:.6875rem;letter-spacing:0;
}
.compare td{color:var(--text-mid)}
/* the Mediatrix column reads as the answer */
.compare th.is-us{color:var(--ink);background:var(--yellow);font-weight:700}
.compare td.is-us{color:var(--text-hi);background:rgba(255,195,0,.09);box-shadow:inset 1px 0 0 rgba(255,195,0,.35),inset -1px 0 0 rgba(255,195,0,.35)}
.compare tbody tr:last-child td.is-us{box-shadow:inset 1px 0 0 rgba(255,195,0,.35),inset -1px 0 0 rgba(255,195,0,.35),inset 0 -1px 0 rgba(255,195,0,.35)}
.compare__hint{margin-top:14px;font-size:.6875rem;color:var(--text-low);letter-spacing:0}

/* Ventures now live in ventures-rail.css as the pinned horizontal rail. */

/* ---------- Testimonials: HUD file cards on a ticker ---------- */
.tst__head{text-align:center;margin-bottom:clamp(40px,5vw,72px)}
.tst__eyebrow{justify-content:center;margin-bottom:18px}
.tst__title{display:flex;flex-direction:column;align-items:center;font-size:clamp(1.9rem,4.2vw,3.3rem);line-height:1}
.tst__line{position:relative;display:block}

/* circuit traces: node → long run → 45° step → short run → node, out to the HUD rail */
.tst__title .trace{
  position:absolute;top:50%;height:16px;margin-top:-13px;
  width:max(0px,calc((100vw - 100%) / 2 - var(--shell) - 52px));
  background:
    linear-gradient(var(--yellow),var(--yellow)) 0 10px/6px 6px no-repeat,
    linear-gradient(var(--yellow),var(--yellow)) 100% 0/6px 6px no-repeat;
  clip-path:inset(0 100% 0 0);
  transition:clip-path 1.4s var(--ease-hud) .5s;
  pointer-events:none;
}
.tst__title .trace::before,
.tst__title .trace::after,
.tst__title .trace i{content:"";position:absolute;height:1px;background:rgba(228,228,228,.3)}
.tst__title .trace::before{left:6px;right:96px;top:13px}
.tst__title .trace::after{right:6px;width:80px;top:3px}
.tst__title .trace i{left:calc(100% - 96px);top:13px;width:14.14px;transform-origin:0 0;transform:rotate(-45deg)}
.tst__line--r .trace{left:calc(100% + 34px)}
.tst__line--l .trace{right:calc(100% + 34px);transform:scaleX(-1)}
.tst__title.is-in .trace{clip-path:inset(-2px)}

.tst__rail{
  -webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);
  mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);
}
.tst__rail .marquee__track{align-items:stretch}
.tst__rail .marquee__track > *{gap:40px;padding-right:40px;animation-duration:95s}

.tcard{
  --shape:31.4% 0,28.6% 4%,3% 4%,0 8.1%,0 91.9%,3% 96%,28.6% 96%,31.4% 100%,68.6% 100%,71.4% 96%,97% 96%,100% 91.9%,100% 8.1%,97% 4%,71.4% 4%,68.6% 0;
  position:relative;flex:none;width:min(645px,86vw);min-height:290px;
  display:flex;flex-direction:column;justify-content:space-between;gap:30px;
  padding:48px 38px 40px;white-space:normal;
  background:rgba(255,195,0,.15);
  clip-path:polygon(var(--shape));
  transition:background .4s var(--ease-out);
}
.tcard:hover{background:rgba(255,195,0,.24)}
/* 3px border: outer outline, then the same outline inset 3px, hollowed with evenodd */
.tcard::before{
  content:"";position:absolute;inset:0;background:var(--yellow);pointer-events:none;
  clip-path:polygon(evenodd,var(--shape),31.4% 0,
    calc(31.4% + 1px) 3px,calc(68.6% - 1px) 3px,calc(71.4% - 1px) calc(4% + 3px),calc(97% - 1px) calc(4% + 3px),
    calc(100% - 3px) calc(8.1% + 1px),calc(100% - 3px) calc(91.9% - 1px),calc(97% - 1px) calc(96% - 3px),
    calc(71.4% - 1px) calc(96% - 3px),calc(68.6% - 1px) calc(100% - 3px),calc(31.4% + 1px) calc(100% - 3px),
    calc(28.6% + 1px) calc(96% - 3px),calc(3% + 1px) calc(96% - 3px),3px calc(91.9% - 1px),3px calc(8.1% + 1px),
    calc(3% + 1px) calc(4% + 3px),calc(28.6% + 1px) calc(4% + 3px),calc(31.4% + 1px) 3px);
}
.tcard::after{
  content:"";position:absolute;right:40px;bottom:46px;width:70px;height:60px;pointer-events:none;
  background:url("../img/star-outline.svg") center/contain no-repeat;opacity:.4;
}
.tcard__q{margin:0}
.tcard__q p{max-width:540px;font-size:1rem;line-height:1.25;color:var(--text);opacity:.78}
.tcard__by{position:relative;max-width:330px}
.tcard__name{
  font-family:var(--font-display);letter-spacing:var(--display-ls);font-weight:var(--display-weight);font-stretch:var(--display-stretch);
  font-variation-settings:var(--display-axes);
  font-size:1.625rem;line-height:1;color:var(--text-hi);
}
.tcard__name em{font-style:normal;color:var(--yellow)}
.tcard__co{margin-top:8px;font-size:1rem;font-weight:600;line-height:1;color:var(--text);opacity:.5}

/* reduced motion: stop the ticker, let people swipe/scroll the originals instead */
@media (prefers-reduced-motion:reduce){
  .tst__rail{overflow-x:auto;-webkit-mask-image:none;mask-image:none;scroll-snap-type:x mandatory;padding-inline:var(--gutter)}
  .tst__rail .marquee__track > *{animation:none!important}
  .tst__rail .marquee__track > [aria-hidden="true"]{display:none}
  .tcard{scroll-snap-align:center}
}

/* four-column footer for the V3 sitemap */
.footer-grid--4{grid-template-columns:1.5fr 1fr 1.15fr 1.15fr}
