/* =====================================================================
   redesign.css — Ryeland brand redesign 2026-09
   Tokens : docs/design/tokens.yaml (values copied, px -> rem on the 10px base)
   Scope  : every new class is prefixed "ry-". Global body / a are NOT restyled
            (news and terms pages must keep their look). The only existing
            selectors overridden here are the shared header, mobile menu and footer.
   Contrast policy (human decision 2026-09-17): orange #ed6d00 is kept for
            buttons, bands, bars and large numerals; small text never uses it.
   ===================================================================== */

:root {
  --ry-orange: #ed6d00;
  --ry-orange-hover: #c95a00;
  --ry-brown: #685d4b;
  --ry-ink: #1a1311;
  --ry-body: #3d342b;
  --ry-line: #e3ded6;
  --ry-line-strong: #d8d0c4;
  --ry-section: #eeeeee;
  --ry-soft: #f4f2ee;
  --ry-white: #ffffff;
  --ry-footer-text: #d8d0c4;
  --ry-font-display: 'Kurale', serif;
  --ry-radius-btn: .4rem;
  --ry-shadow-hero: 0 24px 60px rgba(26, 19, 17, .12);
  --ry-shadow-float: 0 16px 40px rgba(26, 19, 17, .14);
  --ry-shadow-sticky: 0 -8px 24px rgba(26, 19, 17, .08);
}

/* ---------- layout primitives ---------- */
.ry-section,
.ry-hero,
.ry-pagehead,
.ry-band {
  position: relative;
  clear: both;
  display: flow-root; /* not floated: a floated section gets painted over by the next non-floated .fh5co-cards block */
  width: 100%;
  color: var(--ry-body);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.8;
}
.ry-section {
  padding: 8.8rem 0;
  background: var(--ry-white);
}
.ry-section--gray { background: var(--ry-section); }
.ry-section--compact { padding: 7.2rem 0; }
.ry-section--ruled { border-top: 1px solid var(--ry-line); }
.ry-container {
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 4rem;
}
.ry-section p,
.ry-hero p,
.ry-pagehead p,
.ry-band p { margin: 0; }

/* ---------- type ---------- */
.ry-eyebrow {
  display: block;
  margin: 0 0 .8rem;
  font-family: var(--ry-font-display);
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: .04em;
  color: var(--ry-brown);
}
.ry-h2 {
  margin: 0 0 2rem;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--ry-ink);
}
.ry-h2--display {
  font-family: var(--ry-font-display);
  font-size: 4rem;
  font-weight: 400;
}
.ry-h3 {
  margin: 0 0 1rem;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--ry-ink);
}
.ry-lead {
  max-width: 76rem;
  font-size: 1.7rem;
  line-height: 1.9;
}
/* style.css sets h2 { letter-spacing } and h3 { text-align: center } globally */
.ry-h2,
.ry-h3,
.ry-pagehead__title,
.ry-media__title { text-align: left; letter-spacing: .01em; }
.ry-head { margin-bottom: 4.8rem; }
.ry-bar {
  display: block;
  width: 2.8rem;
  height: .3rem;
  margin: 0 0 1.6rem;
  background: var(--ry-orange);
}
.ry-link,
.ry-link:visited {
  color: var(--ry-ink);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: var(--ry-orange);
  text-decoration-thickness: .2rem;
  text-underline-offset: .4em;
}
.ry-link:hover,
.ry-link:focus {
  color: var(--ry-ink);
  text-decoration-thickness: .3rem;
}
.ry-ext { margin-left: .2em; }

/* ---------- buttons (min 16px bold: contrast decision #12) ---------- */
.ry-btn,
.ry-btn:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 5.2rem;
  padding: .8rem 2.6rem;
  border: 2px solid transparent;
  border-radius: var(--ry-radius-btn);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.ry-btn:hover,
.ry-btn:focus { text-decoration: none; }
.ry-btn:focus-visible,
.ry-link:focus-visible,
.ry-lang a:focus-visible {
  outline: 3px solid var(--ry-orange);
  outline-offset: 2px;
}
.ry-btn--l { min-height: 5.6rem; padding: .8rem 3.2rem; }
.ry-btn--s { min-height: 4.4rem; padding: .6rem 2rem; }
.ry-btn--primary,
.ry-btn--primary:visited { background: var(--ry-orange); color: var(--ry-white); }
.ry-btn--primary:hover,
.ry-btn--primary:focus { background: var(--ry-orange-hover); color: var(--ry-white); }
.ry-btn--secondary,
.ry-btn--secondary:visited { border-color: var(--ry-brown); background: transparent; color: var(--ry-brown); }
.ry-btn--secondary:hover,
.ry-btn--secondary:focus { border-color: var(--ry-ink); color: var(--ry-ink); }
.ry-btn--on-orange,
.ry-btn--on-orange:visited { background: var(--ry-white); color: var(--ry-ink); }
.ry-btn--on-orange:hover,
.ry-btn--on-orange:focus { background: var(--ry-ink); color: var(--ry-white); }
.ry-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 3.2rem;
}

/* =====================================================================
   shared header (all pages)
   ===================================================================== */
#fh5co-header-section {
  border-bottom: 1px solid var(--ry-line);
  background-color: rgba(255, 255, 255, .96);
}
#fh5co-primary-menu .ry-nav-cta { margin: .55rem 0 .55rem .6rem; }
#fh5co-primary-menu .ry-nav-cta a,
#fh5co-primary-menu .ry-nav-cta a:visited {
  display: inline-flex;
  align-items: center;
  min-height: 4.4rem;
  padding: .4rem 1.8rem;
  border-radius: var(--ry-radius-btn);
  background: var(--ry-orange);
  color: var(--ry-white);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.3;
}
#fh5co-primary-menu .ry-nav-cta a:hover,
#fh5co-primary-menu .ry-nav-cta a:focus { background: var(--ry-orange-hover); color: var(--ry-white); }
/* style.css sets a:focus { outline: none } globally and this link carries no ry- class, so it needs its own
   focus ring (the hover/focus background change alone is only ~1.2:1 against the resting orange). */
#fh5co-primary-menu .ry-nav-cta a:focus-visible,
#fh5co-mobile-menu #fh5co-mobile-menu-ul .ry-nav-cta a:focus-visible {
  outline: 3px solid var(--ry-ink);
  outline-offset: 2px;
}
#fh5co-primary-menu .ry-lang { margin-left: 1rem; }
.ry-lang { color: var(--ry-brown); letter-spacing: .04em; }
#fh5co-primary-menu .ry-lang a,
#fh5co-mobile-menu #fh5co-mobile-menu-ul .ry-lang a {
  display: inline-block;
  padding: .75em .35em;
  color: var(--ry-brown);
}
#fh5co-primary-menu .ry-lang a[aria-current="true"],
#fh5co-mobile-menu #fh5co-mobile-menu-ul .ry-lang a[aria-current="true"] {
  color: var(--ry-ink);
  font-weight: 700;
  box-shadow: inset 0 -.2rem 0 var(--ry-orange);
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .sf-menu a { padding-left: .7em; padding-right: .7em; }
  #fh5co-primary-menu .ry-nav-cta a { padding-left: 1.2rem; padding-right: 1.2rem; }
}
@media screen and (min-width: 769px) and (max-width: 991px) {
  #fh5co-primary-menu .ry-nav-cta { display: none; }
}

/* mobile off-canvas clone of the same <ul> (static/js/main.js mobileMenu) */
#fh5co-mobile-menu { background: var(--ry-white); border-right: 1px solid var(--ry-line); }
#fh5co-mobile-menu #fh5co-mobile-menu-ul a { color: var(--ry-brown); font-size: 1.6rem; line-height: 1.6; padding: 1rem 0; }
#fh5co-mobile-menu #fh5co-mobile-menu-ul .ry-nav-cta { margin: 1.6rem 0 .8rem; }
#fh5co-mobile-menu #fh5co-mobile-menu-ul .ry-nav-cta a,
#fh5co-mobile-menu #fh5co-mobile-menu-ul .ry-nav-cta a:visited {
  padding: 1.2rem .6rem; /* 275px drawer: 13 Japanese characters at 16px must stay on one line */
  border-radius: var(--ry-radius-btn);
  background: var(--ry-orange);
  color: var(--ry-white);
  font-weight: 700;
  text-align: center;
  word-break: auto-phrase;
}

/* =====================================================================
   shared footer (all pages)
   ===================================================================== */
#fh5co-footer {
  padding: 5.6rem 0 3.2rem;
  background-color: var(--ry-ink);
  color: var(--ry-footer-text);
}
#fh5co-footer .footer_navigation a,
#fh5co-footer .footer_navigation a:visited { color: var(--ry-footer-text); }
#fh5co-footer .footer_navigation a:hover,
#fh5co-footer .footer_navigation a:focus { color: var(--ry-white); }
/* The partnership logo is white artwork on a transparent PNG, so it sits directly on the dark
   footer. The white tile in the design would hide it (checked 2026-09-17). */
#fh5co-footer .footer_logos { margin-bottom: 2.4rem; }
#fh5co-footer .footer_logos li img { height: 8rem; }

/* =====================================================================
   hero — white panel laid over the pour photograph
   ===================================================================== */
.ry-hero {
  padding-top: 6.5rem; /* fixed header height (style.css #fh5co-header-section) */
  background: var(--ry-white);
  overflow: hidden;
}
.ry-hero__inner {
  position: relative;
  max-width: 128rem;
  margin: 0 auto;
  padding: 6.4rem 0; /* the photograph is taller than the panel laid over it */
}
.ry-hero__media {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 66.667%;
  margin: 0;
}
.ry-hero__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 60% 50%;
}
.ry-hero__panel {
  position: relative;
  z-index: 1;
  width: 56rem;
  max-width: 100%;
  margin: 0 0 0 4rem;
  padding: 4.8rem 4.4rem 4.4rem;
  background: var(--ry-white);
  box-shadow: var(--ry-shadow-hero);
}
.ry-hero__eyebrow {
  margin: 0 0 2rem;
  font-family: var(--ry-font-display);
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: .12em;
  color: var(--ry-brown);
}
.ry-hero__title {
  margin: 0 0 2.4rem;
  font-family: var(--ry-font-display);
  font-size: 6rem;
  font-weight: 400;
  line-height: 1.05;
  color: var(--ry-ink);
}
.ry-hero__title span { display: block; }
.ry-hero__title b { font-weight: 400; color: var(--ry-orange); }
.ry-hero__sub {
  font-size: 1.7rem;
  line-height: 1.9;
}
/* Japanese line breaks at phrase boundaries where the browser supports it */
.ry-hero__sub,
.ry-h2,
.ry-h3,
.ry-lead,
.ry-pagehead__title,
.ry-band__sub,
.ry-media__title { word-break: auto-phrase; text-wrap: pretty; }

/* =====================================================================
   stats band
   ===================================================================== */
.ry-stats { padding: 5.6rem 0; }
.ry-stats__list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1rem;
  padding: 0;
  list-style: none;
}
.ry-stats__item { flex: 0 0 25%; max-width: 25%; padding: 0 1rem; }
.ry-stats__figure { line-height: 1; color: var(--ry-ink); }
.ry-stats__num {
  font-family: var(--ry-font-display);
  font-size: 5.2rem;
  line-height: 1;
  color: var(--ry-orange);
}
.ry-stats__unit { margin-left: .4rem; font-size: 1.6rem; font-weight: 700; }
.ry-stats__unit--spaced { margin-left: 0; } /* preceded by a real space in the markup */
.ry-stats__unit--tight,
html[lang="en"] .ry-stats__unit--tight-en { margin-left: .1rem; } /* "400+", "8th year", "70+ companies" */
.ry-stats__label {
  display: block;
  margin-top: 1rem;
  font-size: 1.3rem;
  line-height: 1.6;
  color: var(--ry-brown);
}

/* =====================================================================
   pillars A–D
   ===================================================================== */
.ry-grid {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1rem;
  padding: 0;
  list-style: none;
}
.ry-grid > * { display: flex; padding: 0 1rem; margin-bottom: 2rem; }
.ry-grid--4 > * { flex: 0 0 25%; max-width: 25%; }
.ry-grid--3 > * { flex: 0 0 33.333%; max-width: 33.333%; }
.ry-grid--2 > * { flex: 0 0 50%; max-width: 50%; }
.ry-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 3.2rem 2.8rem;
  border: 1px solid var(--ry-line);
  background: var(--ry-white);
}
.ry-card__letter {
  margin: 0 0 1.4rem;
  font-family: var(--ry-font-display);
  font-size: 4rem;
  line-height: 1;
  color: var(--ry-orange);
}
.ry-card__media { margin: -3.2rem -2.8rem 2.4rem; }
.ry-card__media img { display: block; width: 100%; height: auto; }
.ry-card__sub { display: block; margin-bottom: .4rem; font-size: 1.3rem; font-weight: 400; color: var(--ry-brown); }

/* =====================================================================
   two-column splits (FAM333 / catering / brewery / media+news)
   ===================================================================== */
.ry-split { display: flex; flex-wrap: wrap; align-items: flex-start; margin: 0 -2.4rem; }
.ry-split > * { padding: 0 2.4rem; }
.ry-split__a { flex: 0 0 48%; max-width: 48%; }
.ry-split__b { flex: 0 0 52%; max-width: 52%; }
.ry-split--even > * { flex: 0 0 50%; max-width: 50%; }

.ry-photos { position: relative; padding: 0 0 6rem; }
.ry-photos__main,
.ry-photos__sub { display: block; width: 100%; height: auto; }
.ry-photos__sub {
  position: absolute;
  right: -1.6rem;
  bottom: 0;
  width: 46%;
  box-shadow: var(--ry-shadow-float);
}
.ry-facts { margin: 2.8rem 0 0; border-top: 1px solid var(--ry-line-strong); }
.ry-facts__row { display: flex; padding: 1.2rem 0; border-bottom: 1px solid var(--ry-line-strong); }
.ry-facts dt { flex: 0 0 10rem; font-size: 1.3rem; font-weight: 700; color: var(--ry-brown); }
.ry-facts dd { flex: 1 1 auto; margin: 0; color: var(--ry-ink); }
.ry-note {
  margin-top: 2.8rem;
  padding: 2.4rem 2.8rem;
  background: var(--ry-soft);
  border-left: .3rem solid var(--ry-orange);
}
.ry-note .ry-h3 { font-size: 1.7rem; }

.ry-chips { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; margin: 3.2rem 0 0; padding: 0; list-style: none; }
.ry-chips__label { margin-right: .8rem; font-size: 1.3rem; font-weight: 700; color: var(--ry-brown); }
.ry-chip {
  padding: .4rem 1.6rem;
  border: 1px solid var(--ry-line-strong);
  border-radius: 99.9rem;
  background: var(--ry-white);
  font-size: 1.4rem;
  line-height: 1.6;
  color: var(--ry-ink);
}
.ry-ticks { margin: 2.4rem 0 0; padding: 0; list-style: none; }
.ry-ticks li { position: relative; padding: .4rem 0 .4rem 2.4rem; color: var(--ry-ink); }
.ry-ticks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.5rem;
  width: 1.2rem;
  height: .3rem;
  background: var(--ry-orange);
}

/* ---------- orange CTA band ---------- */
.ry-band { padding: 4.4rem 0; background: var(--ry-orange); color: var(--ry-white); }
.ry-band__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 2.4rem; }
.ry-band__tagline {
  font-family: var(--ry-font-display);
  font-size: 3.8rem;
  line-height: 1.2;
  color: var(--ry-white);
}
.ry-band__sub { margin-top: .6rem; font-size: 1.9rem; font-weight: 700; line-height: 1.6; color: var(--ry-white); }
.ry-band__action { text-align: right; }
.ry-band__note { display: block; margin-top: 1rem; font-size: 1.9rem; font-weight: 700; line-height: 1.4; color: var(--ry-white); }

/* ---------- brewery ---------- */
.ry-brewers { display: flex; flex-wrap: wrap; gap: .8rem 0; margin: 3.2rem 0 0; padding: 0; list-style: none; }
.ry-brewers li {
  flex: 0 0 50%;
  padding: .6rem 1.2rem .6rem 0;
  border-bottom: 1px solid var(--ry-line);
  font-family: var(--ry-font-display);
  font-size: 1.7rem;
  line-height: 1.5;
  color: var(--ry-ink);
}
.ry-brewers .ry-brewers__more { flex-basis: 100%; border-bottom: 0; font-family: inherit; font-size: 1.4rem; color: var(--ry-brown); }
.ry-event { border: 1px solid var(--ry-line); background: var(--ry-white); }
.ry-event img { display: block; width: 100%; height: 26rem; object-fit: cover; }
.ry-event__body { padding: 2.4rem 2.8rem 2.8rem; }
.ry-event__label { display: block; margin-bottom: .6rem; font-size: 1.3rem; font-weight: 700; color: var(--ry-brown); }
.ry-ask {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  margin-top: 4.8rem;
  padding: 2.8rem 3.2rem;
  border: 1px solid var(--ry-line-strong);
  background: var(--ry-soft);
}
.ry-ask__label { font-size: 1.7rem; font-weight: 700; color: var(--ry-ink); }

/* ---------- media + news ---------- */
/* style.css lays a 50% white ::after over #media and lifts only ".container" above it */
.ry-section #media::after { display: none; }
.ry-media { display: flex; gap: 2rem; align-items: flex-start; }
.ry-media__img { flex: 0 0 18rem; max-width: 18rem; }
.ry-media__img img { display: block; width: 100%; height: auto; }
.ry-media__meta { display: block; margin-bottom: .6rem; font-size: 1.3rem; color: var(--ry-brown); }
.ry-media__title { margin: 0 0 1.2rem; font-size: 1.7rem; font-weight: 700; line-height: 1.6; color: var(--ry-ink); }
.ry-news .news_detail_list_inner { margin-bottom: 2rem; border: 1px solid var(--ry-line); }

/* ---------- company summary ---------- */
.ry-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 2.4rem 4rem; }
.ry-summary__label { flex: 0 0 26rem; }
.ry-summary__label .ry-h2 { margin: 0; font-size: 2.4rem; }
.ry-summary__body { flex: 1 1 32rem; }
.ry-summary__action { flex: 0 0 auto; }

/* ---------- contact (inside existing #lp_contact_sml) ---------- */
.ry-contact { margin: 0 auto 4rem; text-align: center; color: var(--ry-body); font-size: 1.5rem; line-height: 1.8; }
.ry-contact .ry-actions { justify-content: center; margin-top: 2.4rem; }

/* ---------- page header for inner pages ---------- */
.ry-pagehead {
  padding: 14rem 0 6.4rem; /* 6.5rem fixed header + breathing room */
  background: var(--ry-section);
}
.ry-pagehead__title {
  margin: 0 0 2rem;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--ry-ink);
}

/* ---------- numbered steps (a real sequence: /brewery/) ---------- */
.ry-steps { counter-reset: ry-step; }
.ry-steps > li { counter-increment: ry-step; }
.ry-steps .ry-card__letter::before { content: counter(ry-step); }

/* ---------- mobile sticky CTA (Home only, body.ry-has-sticky) ---------- */
.ry-sticky { display: none; }

/* company page additions */
.company_cnt .ry-icon-link { display: inline-block; min-width: 2.8rem; min-height: 2.8rem; text-align: center; }
.ry-company-lead { max-width: 96rem; margin: 0 auto; padding: 5.6rem 4rem 0; }

/* =====================================================================
   tablet
   ===================================================================== */
@media screen and (max-width: 991px) {
  .ry-grid--4 > * { flex-basis: 50%; max-width: 50%; }
  .ry-grid--3 > * { flex-basis: 100%; max-width: 100%; }
  .ry-split__a,
  .ry-split__b,
  .ry-split--even > * { flex-basis: 100%; max-width: 100%; }
  .ry-split > * + * { margin-top: 4rem; }
  .ry-photos__sub { right: 0; }
  .ry-hero__media { width: 60%; }
  .ry-hero__panel { width: 50rem; }
}

/* =====================================================================
   mobile (matches the existing 767px break in contents.css)
   ===================================================================== */
@media screen and (max-width: 767px) {
  .ry-section,
  .ry-hero,
  .ry-pagehead,
  .ry-band { font-size: 1.4rem; }
  .ry-section { padding: 5.6rem 0; }
  .ry-section--compact,
  .ry-stats { padding: 4.8rem 0; }
  .ry-container { padding: 0 1.6rem; }
  .ry-h2 { font-size: 2.4rem; }
  .ry-h2--display { font-size: 3rem; }
  .ry-h3 { font-size: 1.7rem; }
  .ry-lead { font-size: 1.5rem; }
  .ry-head { margin-bottom: 3.2rem; }
  .ry-bar { width: 2.4rem; }
  .ry-btn { width: 100%; }
  .ry-actions { flex-direction: column; }

  .ry-hero { padding-top: 0; } /* mobile header bar is in normal flow */
  .ry-hero__inner { padding: 0; }
  .ry-hero__media { position: static; width: 100%; height: 28rem; }
  .ry-hero__panel { width: 100%; margin: 0; padding: 3.2rem 1.6rem 4rem; box-shadow: none; }
  .ry-hero__eyebrow { font-size: 1.2rem; }
  .ry-hero__title { font-size: 4rem; }
  .ry-hero__sub { font-size: 1.5rem; }

  .ry-stats__item { flex-basis: 50%; max-width: 50%; margin-bottom: 3.2rem; }
  .ry-stats__item:nth-last-child(-n+2) { margin-bottom: 0; }
  .ry-stats__num { font-size: 4rem; }

  .ry-grid { margin: 0; }
  .ry-grid > * { padding: 0; margin-bottom: 1.2rem; }
  .ry-grid--4 > *,
  .ry-grid--2 > * { flex-basis: 100%; max-width: 100%; }
  .ry-card { padding: 2.2rem 2rem; }
  .ry-card__letter { font-size: 3.2rem; }
  .ry-card__media { margin: -2.2rem -2rem 2rem; }

  .ry-split { margin: 0; }
  .ry-split > * { padding: 0; }
  .ry-photos { padding-bottom: 0; }
  .ry-photos__sub { display: none; }
  .ry-facts dt { flex-basis: 8rem; }
  .ry-note { padding: 2rem; }

  .ry-band { padding: 3.6rem 0; }
  .ry-band__inner { flex-direction: column; align-items: stretch; }
  .ry-band__tagline { font-size: 3rem; }
  .ry-band__action { text-align: left; }

  .ry-brewers li { flex-basis: 100%; }
  .ry-event img { height: 18rem; }
  .ry-ask { padding: 2.4rem 2rem; }

  .ry-media { flex-direction: column; }
  .ry-media__img { flex-basis: auto; max-width: 100%; width: 100%; }
  .ry-summary__label,
  .ry-summary__body,
  .ry-summary__action { flex-basis: 100%; }

  .ry-pagehead { padding: 5.6rem 0 4.8rem; }
  .ry-pagehead__title { font-size: 3rem; }
  .ry-company-lead { padding: 4rem 1.6rem 0; }

  .ry-sticky {
    display: block;
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 102;
    padding: 1rem 1.6rem;
    border-top: 1px solid var(--ry-line);
    background: rgba(255, 255, 255, .96);
    box-shadow: var(--ry-shadow-sticky);
  }
  .ry-sticky .ry-btn { min-height: 4.8rem; }
  body.ry-has-sticky #fh5co-footer { padding-bottom: 10rem; }
}

@media (prefers-reduced-motion: reduce) {
  .ry-btn { transition: none; }
}
