/* ==========================================================================
   Soulful Nepal — homepage skin (concept v6)

   Design tokens here are the HOMEPAGE set and are deliberately different from
   the trek-page set in theme.css. They are scoped to .sn-home / .sn-site-footer
   so they can never leak into a trek page. Do not promote them to :root.
   ========================================================================== */

.sn-home,
.sn-site-footer,
.sn-footer-cta {
  --h-ink: #172322;
  --h-ink2: #566463;
  --h-teal: #0098b0;
  --h-teal2: #00697c;
  --h-deep: #063f4a;
  --h-night: #0b2024;
  --h-gold: #c69a48;
  --h-gold2: #ecd5a7;
  --h-paper: #fff;
  --h-fog: #f1f5f4;
  --h-line: #d9e2e0;
  --h-line-soft: #e8efee;
  --h-ok: #2f9d63;
  --h-warn: #996d23;
  /* Retired, see --sn-font-mono in theme.css. Resolves to the body face. */
  --h-mono: "Barlow", "Helvetica Neue", Arial, sans-serif;
  --h-wrap: 1280px;
  --h-pad: clamp(20px, 5vw, 68px);
  --h-shadow: 0 22px 65px rgba(3, 44, 53, 0.16);
}

/* --------------------------------------------------------------------------
   Page shell: the homepage runs edge to edge, sections manage their own width.
   -------------------------------------------------------------------------- */

.sn-home .site-content,
.sn-home .content-area,
.sn-home .site-main,
.sn-home .entry-content {
  margin: 0;
  padding: 0;
  max-width: none;
  width: 100%;
}

.sn-home .entry-header,
.sn-home .entry-title,
.sn-home .sn-breadcrumbs {
  display: none;
}

.sn-home .site-content .content-area {
  float: none;
}

/* body.sn-theme in theme.css sets the mist background site-wide; the homepage
   is white, so this needs to match that specificity and win on load order. */
body.sn-home,
.sn-home .site-content,
.sn-home .site-main {
  background: var(--h-paper);
  color: var(--h-ink);
}

/* Every top-level block on the homepage clears WordPress's own constraint. */
.sn-home .entry-content > .wp-block-group {
  max-width: none;
}

.sn-wrap {
  max-width: var(--h-wrap);
  margin-inline: auto;
  padding-inline: var(--h-pad);
}

.sn-sec {
  padding-block: clamp(88px, 10.5vw, 156px);
}

.sn-sec.is-fog {
  background: var(--h-fog);
}

.sn-home h1,
.sn-home h2,
.sn-home h3,
.sn-home h4 {
  margin: 0;
  line-height: 1.02;
  letter-spacing: -0.03em;
  color: var(--h-ink);
}

.sn-home h1 { font-size: clamp(45px, 7.2vw, 98px); font-weight: 900; }
.sn-home h2 { font-size: clamp(31px, 4.3vw, 57px); font-weight: 900; }
.sn-home h3 { font-size: clamp(19px, 2vw, 25px); font-weight: 800; letter-spacing: -0.02em; }

.sn-kicker {
  font: 600 10.5px/1.3 var(--h-mono);
  letter-spacing: 0.19em;
  text-transform: uppercase;
  color: var(--h-teal2);
  margin: 0 0 15px;
}

.sn-kicker.is-gold { color: var(--h-gold); }

.sn-lede {
  font-size: clamp(17px, 1.7vw, 21px);
  line-height: 1.56;
  color: var(--h-ink2);
  max-width: 56ch;
  margin: 0;
}

.sn-sec-head {
  display: grid;
  grid-template-columns: 1fr minmax(270px, 500px);
  gap: 34px;
  align-items: end;
  margin-bottom: 52px;
}

.sn-sec-head .sn-lede { justify-self: end; }

/* Buttons: named so GeneratePress and WooCommerce styles cannot reach them. */
a.sn-btn,
.sn-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  padding: 14px 22px;
  border: 1px solid transparent;
  background: var(--h-teal);
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  border-radius: 6px;
  cursor: pointer;
  text-decoration: none;
  transition: transform 0.2s, background 0.2s, border-color 0.2s, color 0.2s;
}

a.sn-btn:hover,
a.sn-btn:focus,
.sn-btn:hover,
.sn-btn:focus {
  background: var(--h-teal2);
  color: #fff;
  transform: translateY(-1px);
}

a.sn-btn--dark, .sn-btn--dark { background: var(--h-deep); }
a.sn-btn--dark:hover, .sn-btn--dark:hover { background: var(--h-night); }

a.sn-btn--line,
.sn-btn--line {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.48);
  color: #fff;
}
a.sn-btn--line:hover,
.sn-btn--line:hover { background: #fff; color: var(--h-deep); transform: translateY(-1px); }

a.sn-btn--inkline,
.sn-btn--inkline {
  background: transparent;
  border-color: var(--h-deep);
  color: var(--h-deep);
}
a.sn-btn--inkline:hover,
.sn-btn--inkline:hover { background: var(--h-deep); color: #fff; }

.sn-arrow { font-size: 18px; line-height: 1; }

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */

.sn-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--h-night);
  color: #fff;
  padding: clamp(72px, 8vw, 126px) 0 118px;
}

.sn-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  background-image: var(--sn-hero-image, none);
  background-size: cover;
  background-position: center;
  opacity: 0.5;
}

.sn-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(96deg, rgba(8, 31, 35, 0.96) 18%, rgba(8, 31, 35, 0.84) 48%, rgba(0, 67, 79, 0.58) 74%, rgba(0, 105, 124, 0.24));
}

.sn-hero__topo {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.1;
  background-image: repeating-radial-gradient(ellipse at 84% 30%, transparent 0 38px, rgba(110, 218, 234, 0.28) 39px, transparent 40px 56px);
}

.sn-hero-grid {
  display: grid;
  /* The card only has to hold four short rows, so it does not need 40% of
     the hero. Giving the width back lets the headline set in three lines. */
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.58fr);
  gap: clamp(34px, 5vw, 74px);
  align-items: center;
  position: relative;
}

.sn-hero-copy { max-width: 820px; }
.sn-home .sn-hero h1 { max-width: 13ch; color: #fff;
  /* 20% down from the general .sn-home h1 scale, hero only. */
  font-size: clamp(36px, 5.76vw, 78px); }
.sn-home .sn-hero h1 em { font-style: normal; color: #78d5e2; }

.sn-hero__sell {
  font-size: clamp(15px, 1.51vw, 18.5px);
  color: #d2e5e7;
  max-width: 46ch;
  margin: 24px 0 0;
  line-height: 1.6;
}

.sn-hero-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  max-width: 720px;
  margin-top: 34px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.sn-hero-stat {
  /* The padding and the grid gap are equal, so each divider sits centred in
     the space between two badges. Change one and change the other. */
  padding: 0 30px 0 0;
  border-right: 1px solid rgba(255, 255, 255, 0.14);
}
.sn-hero-stat:last-child { border-right: 0; padding-right: 0; }

.sn-hero-stat .num {
  display: block;
  font-weight: 900;
  /* One size for all three badges. The per-badge sizes below only vary the
     colour now, so a longer figure never looks like a smaller claim. */
  font-size: clamp(20.9px, 2.28vw, 28.5px);
  line-height: 0.95;
  letter-spacing: -0.04em;
  color: #fff;
}

.sn-hero-stat .cap {
  display: block;
  margin-top: 8px;
  font: 600 9.4px/1.45 var(--h-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #9ddae3;
}

/* One treatment for the row.
   Gold, cream and cyan made three badges of the same kind read as three
   different categories. Every figure is now white and every caption the same
   muted teal; the years figure alone carries the accent, because it is the
   only one of the three that is a claim about us rather than a register
   entry. */
.sn-hero-stat--years .num { color: #e8c98b; line-height: 0.9; }

/* Tripadvisor rating. Gold, because it is the one figure in the row that comes
   from customers rather than from a register. */
.sn-hero-stat__of { font-size: 0.55em; opacity: 0.75; margin-left: 0.1em; }

/* The rating is the only stat that is a link, so it gets the affordance. The
   underline sits on the caption rather than the figure to keep the row calm. */
.sn-hero-stat.is-linked { text-decoration: none; display: block; }
.sn-hero-stat.is-linked .cap { text-decoration: underline; text-underline-offset: 2px; text-decoration-color: rgba(232, 201, 139, 0.45); }
.sn-hero-stat.is-linked:hover .cap,
.sn-hero-stat.is-linked:focus-visible .cap { text-decoration-color: #e8c98b; }
.sn-hero-stat.is-linked:focus-visible { outline: 2px solid #e8c98b; outline-offset: 3px; }

.sn-hero-actions {
  display: flex;
  gap: 11px;
  flex-wrap: wrap;
  margin-top: 46px;
}

.sn-hero-card {
  background: rgba(255, 255, 255, 0.98);
  color: var(--h-ink);
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 18px;
  padding: clamp(22px, 2.5vw, 30px);
  box-shadow: 0 18px 50px rgba(4, 26, 30, 0.24);
}

.sn-hero-card__top {
  font: 600 9.3px/1.35 var(--h-mono);
  text-transform: uppercase;
  letter-spacing: 0.19em;
  color: var(--h-ink2);
  margin: 0 0 18px;
}

.sn-proofline {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: start;
  padding: 13px 0;
  border-bottom: 1px solid var(--h-line-soft);
  font-size: 14px;
}

.sn-proofline b {
  font: 600 13px/1.35 var(--h-mono);
  color: var(--h-deep);
  text-align: right;
}

.sn-hero-card__check {
  margin: 18px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--h-line-soft);
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: var(--h-ink2);
  font-size: 13.5px;
  line-height: 1.52;
}

.sn-hero-card__check i {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--h-ok);
  color: #fff;
  display: grid;
  place-items: center;
  font-style: normal;
  font-size: 11px;
  flex: none;
  margin-top: 1px;
}

/* --------------------------------------------------------------------------
   Search box, lifted over the hero edge
   -------------------------------------------------------------------------- */

.sn-searchwrap {
  position: relative;
  z-index: 10;
  margin-top: -46px;
  max-width: var(--h-wrap);
  margin-inline: auto;
  padding-inline: var(--h-pad);
}

.sn-searchbox {
  background: #fff;
  border: 1px solid var(--h-line);
  box-shadow: var(--h-shadow);
  border-radius: 12px;
  overflow: hidden;
}

.sn-search-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  padding: 14px 18px;
  border-bottom: 1px solid var(--h-line);
  background: #fbfcfc;
}

.sn-search-head strong { font-size: 14px; }
.sn-search-head span {
  font: 500 10px/1 var(--h-mono);
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--h-ink2);
}

.sn-search-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.95fr 0.95fr auto;
}

.sn-field {
  padding: 15px 20px;
  border-right: 1px solid var(--h-line);
}

.sn-field label {
  display: block;
  font: 500 9.5px/1.2 var(--h-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--h-ink2);
  margin-bottom: 7px;
}

.sn-field select {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--h-ink);
  font-weight: 700;
  cursor: pointer;
  padding: 0;
  min-height: 28px;
}

.sn-search-go { padding: 10px; display: flex; }
.sn-search-go .sn-btn { min-width: 130px; width: 100%; }

/* Filter summary on the archive the search lands on. */
.sn-filter-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: baseline;
  margin-bottom: 18px;
  font: 600 11px/1.4 var(--sn-font-mono, monospace);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   Trust bar
   -------------------------------------------------------------------------- */

.sn-trustbar { padding-top: 42px; }

.sn-trustrow {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  border: 1px solid var(--h-line);
  background: var(--h-line);
  gap: 1px;
}

.sn-trustrow > div { background: #fff; padding: 17px 18px; }

.sn-trustrow b {
  display: block;
  font: 600 13px/1.2 var(--h-mono);
  color: var(--h-deep);
  word-break: break-word;
}

.sn-trustrow span {
  display: block;
  margin-top: 5px;
  font: 500 9px/1.3 var(--h-mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--h-ink2);
}

/* --------------------------------------------------------------------------
   Trek cards
   -------------------------------------------------------------------------- */

.sn-treks {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

a.sn-trek,
.sn-trek {
  border: 1px solid var(--h-line);
  background: #fff;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  display: block;
  transition: transform 0.22s, box-shadow 0.22s, border-color 0.22s;
}

.sn-trek:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 45px rgba(5, 45, 52, 0.11);
  border-color: #b9d6d8;
}

.sn-trek__img {
  height: 260px;
  position: relative;
  overflow: hidden;
  background: var(--h-night);
}

.sn-trek__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}

.sn-trek:hover .sn-trek__img img { transform: scale(1.035); }

.sn-trek__noimg {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #103138, #0b2024);
}

.sn-trek__tags {
  position: absolute;
  left: 14px;
  right: 14px;
  top: 14px;
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.sn-pill {
  background: rgba(9, 31, 35, 0.84);
  color: #fff;
  padding: 6px 9px;
  font: 500 9.5px/1 var(--h-mono);
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.sn-pill--gold { background: rgba(198, 154, 72, 0.92); color: var(--h-ink); }

.sn-trek__body { padding: 20px 20px 18px; }
.sn-home .sn-trek__body h3 { color: var(--h-deep); }

.sn-trek__meta {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 12px;
}

.sn-trek__fact { font: 500 13px/1.3 var(--h-mono); color: var(--h-ink); white-space: nowrap; }
.sn-trek__fact b { font-weight: 700; }
.sn-trek__fact--elevation,
.sn-trek__fact--elevation b { color: var(--h-gold); }
.sn-trek__sep { color: var(--h-line); font-size: 13px; }

.sn-trek__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--h-line);
}

.sn-price,
.sn-price .amount,
.sn-price bdi {
  font: 600 22px/1 var(--h-mono);
  color: var(--h-deep);
}

.sn-price .stb-unit,
.sn-price small {
  font-size: 9px;
  color: var(--h-ink2);
  font-weight: 500;
}

.sn-price del { display: none; }

/* A small outlined chip rather than the full .sn-btn: the whole card is
   already the click target, so this only needs to read clearly as "go
   here", not compete with the price for attention. */
.sn-view {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  padding: 7px 12px;
  border: 1px solid var(--h-teal2);
  border-radius: 100px;
  font: 700 10px/1 var(--h-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--h-teal2);
  white-space: nowrap;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.sn-trek:hover .sn-view {
  background: var(--h-teal2);
  border-color: var(--h-teal2);
  color: #fff;
}

.sn-more-row { text-align: center; margin-top: 30px; }

/* --------------------------------------------------------------------------
   Decision section (dark)
   -------------------------------------------------------------------------- */

.sn-decision {
  background: var(--h-night);
  color: #d3e5e7;
  position: relative;
  overflow: hidden;
}

.sn-decision::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.13;
  background: repeating-linear-gradient(165deg, transparent 0 38px, rgba(0, 152, 176, 0.35) 39px, transparent 40px 62px);
}

.sn-decision .sn-wrap { position: relative; }
.sn-home .sn-decision h2 { color: #fff; }
.sn-decision .sn-lede { color: #abc7cb; }

.sn-decision-intro {
  display: grid;
  grid-template-columns: 1fr minmax(280px, 480px);
  gap: 56px;
  align-items: end;
  margin-bottom: 60px;
}

.sn-questions { border-top: 1px solid rgba(170, 214, 220, 0.25); }

.sn-qitem {
  display: grid;
  grid-template-columns: 62px minmax(220px, 0.75fr) 1.25fr;
  gap: 28px;
  padding: 26px 0;
  border-bottom: 1px solid rgba(170, 214, 220, 0.22);
  align-items: start;
}

.sn-qnum { font: 500 11px/1 var(--h-mono); color: var(--h-gold); }
.sn-home .sn-qitem h3 { color: #f4fbfb; font-size: 20px; line-height: 1.2; }
.sn-qitem p { font-size: 15px; color: #b5ced1; max-width: 68ch; margin: 0; }

.sn-qproof {
  display: inline-flex;
  margin-top: 11px;
  color: #79d9e5;
  font: 500 10px/1.35 var(--h-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   Booking steps
   -------------------------------------------------------------------------- */

.sn-booking-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.7fr) 1.3fr;
  gap: clamp(56px, 8vw, 108px);
  align-items: start;
}

.sn-timeline {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border: 1px solid var(--h-line);
  background: var(--h-line);
  gap: 1px;
}

.sn-tstep { background: #fff; padding: 24px; min-height: 220px; }

.sn-tstep .n {
  font: 600 10px/1 var(--h-mono);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--h-teal2);
}

.sn-home .sn-tstep h3 { margin-top: 16px; color: var(--h-deep); }
.sn-tstep p { font-size: 14.5px; color: var(--h-ink2); margin-top: 12px; }

.sn-tstep .pay {
  display: inline-block;
  margin-top: 18px;
  padding: 5px 8px;
  background: var(--h-fog);
  font: 600 9.5px/1.2 var(--h-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--h-deep);
}

/* --------------------------------------------------------------------------
   Group pricing band
   -------------------------------------------------------------------------- */

.sn-price-band {
  background: var(--h-deep);
  color: #d6ecef;
  padding-block: clamp(84px, 9.5vw, 138px);
}

.sn-home .sn-price-band h2 { color: #fff; }
.sn-price-band .sn-lede { color: #b5d1d5; }

.sn-price-grid {
  display: grid;
  grid-template-columns: 1fr minmax(360px, 0.85fr);
  gap: 55px;
  align-items: center;
}

.sn-pricecard {
  background: #fff;
  color: var(--h-ink);
  padding: 26px;
  border-top: 3px solid var(--h-gold);
}

.sn-pricecard__label {
  font: 600 9.5px/1.2 var(--h-mono);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--h-ink2);
  margin: 0;
}

.sn-bigprice {
  font: 600 clamp(42px, 5vw, 68px)/1 var(--h-mono);
  color: var(--h-deep);
  margin-top: 10px;
}

.sn-bigprice small { font-size: 12px; color: var(--h-ink2); }

.sn-range-head {
  display: flex;
  justify-content: space-between;
  margin: 24px 0 8px;
  font: 600 10px/1 var(--h-mono);
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--h-ink2);
}

.sn-pricecard input[type="range"] { width: 100%; accent-color: var(--h-teal); cursor: pointer; }
.sn-group-total { margin-top: 14px; font-size: 13px; color: var(--h-ink2); }
.sn-group-total b { color: var(--h-deep); }

/* --------------------------------------------------------------------------
   Regions
   -------------------------------------------------------------------------- */

.sn-regions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

a.sn-region,
.sn-region {
  height: 245px;
  position: relative;
  overflow: hidden;
  background: var(--h-night);
  display: block;
  text-decoration: none;
}

.sn-region img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.45s; }
.sn-region:hover img { transform: scale(1.04); }

.sn-region__noimg {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #103138, #0b2024);
}

.sn-region::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(8, 31, 35, 0.91), rgba(8, 31, 35, 0.05) 70%);
}

.sn-rlab {
  position: absolute;
  z-index: 2;
  left: 20px;
  right: 20px;
  bottom: 18px;
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px;
}

.sn-rlab__name { font-size: 21px; font-weight: 800; letter-spacing: -0.02em; }

.sn-rlab__count {
  font: 500 9px/1 var(--h-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #9cdae2;
  white-space: nowrap;
}

/* --------------------------------------------------------------------------
   Field notes
   -------------------------------------------------------------------------- */

.sn-fieldnote {
  background: #e9f2f2;
  border-top: 1px solid #d1e2e1;
  border-bottom: 1px solid #d1e2e1;
  padding-block: clamp(54px, 6vw, 78px);
}

.sn-fn-top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.sn-stamp {
  font: 500 10px/1.2 var(--h-mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--h-teal2);
}

.sn-fn-top__small { font-size: 12px; color: var(--h-ink2); }

.sn-fn-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid #cbdedd;
  background: #cbdedd;
  gap: 1px;
}

.sn-fn { background: #f8fbfb; padding: 18px; }

.sn-fn__loc {
  font: 600 9px/1 var(--h-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--h-teal2);
}

.sn-fn__loc.is-warn { color: var(--h-warn); }
.sn-home .sn-fn h3 { font-size: 19px; margin-top: 10px; }
.sn-fn p { font-size: 14.5px; color: var(--h-ink2); margin-top: 8px; line-height: 1.5; }

/* --------------------------------------------------------------------------
   Reviews
   -------------------------------------------------------------------------- */

.sn-reviews-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
  align-items: stretch;
}

a.sn-review-score,
.sn-review-score {
  background: var(--h-deep);
  color: #fff;
  padding: 28px;
  text-decoration: none;
  display: flex;
  flex-direction: column;
}

.sn-review-score:hover { background: var(--h-night); color: #fff; }
.sn-review-score__big { font: 600 68px/1 var(--h-mono); }
.sn-stars { color: var(--h-gold); letter-spacing: 3px; margin: 8px 0 12px; }
.sn-review-score__meta { font-size: 13px; color: #b6d2d5; }

.sn-review-score__verify {
  margin-top: auto;
  padding-top: 18px;
  font: 600 9.5px/1.3 var(--h-mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--h-gold2);
}

.sn-review { border: 1px solid var(--h-line); padding: 24px; background: #fff; }
.sn-review blockquote { margin: 14px 0 22px; font-size: 16px; line-height: 1.65; }

.sn-who {
  border-top: 1px solid var(--h-line);
  padding-top: 14px;
  font: 600 10px/1.35 var(--h-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--h-ink2);
  margin: 0;
}

.sn-who b { color: var(--h-deep); }

/* --------------------------------------------------------------------------
   Ask section
   -------------------------------------------------------------------------- */

.sn-ask {
  background: var(--h-night);
  color: #fff;
  position: relative;
  overflow: hidden;
}

.sn-ask::after {
  content: "";
  position: absolute;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  right: -220px;
  top: -180px;
  background: radial-gradient(circle, rgba(0, 152, 176, 0.28), transparent 66%);
}

.sn-ask-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr minmax(330px, 0.7fr);
  gap: clamp(58px, 7vw, 92px);
  align-items: center;
}

.sn-home .sn-ask h2 { color: #fff; }
.sn-ask .sn-lede { color: #b4ccd0; margin-top: 18px; }

.sn-ask-note {
  margin-top: 26px;
  font: 500 10px/1.55 var(--h-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #77cbd7;
}

.sn-ask-card {
  background: #fff;
  color: var(--h-ink);
  padding: 32px;
  border-top: 3px solid var(--h-gold);
}

.sn-ask-card label {
  display: block;
  font: 600 9px/1 var(--h-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--h-ink2);
  margin-bottom: 7px;
}

.sn-ask-card input,
.sn-ask-card select,
.sn-ask-card textarea {
  width: 100%;
  border: 1px solid var(--h-line);
  padding: 12px;
  background: #fff;
  margin-bottom: 13px;
  border-radius: 4px;
  color: var(--h-ink);
}

.sn-ask-card .sn-btn { width: 100%; margin-top: 4px; }

.sn-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.sn-formmsg {
  margin: 0 0 16px;
  padding: 11px 13px;
  font-size: 13px;
  border-radius: 4px;
}

.sn-formmsg.is-ok { background: #eaf7ef; color: #1d6b3e; }
.sn-formmsg.is-fail { background: #fdeeee; color: #a12c2c; }

/* --------------------------------------------------------------------------
   Sticky header (GeneratePress free has no sticky nav option)
   -------------------------------------------------------------------------- */

body.sn-sticky-header .site-header {
  position: sticky;
  top: 0;
  z-index: 80;
  background: rgba(255, 255, 255, 0.93);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--h-line, #d9e2e0);
}

body.admin-bar.sn-sticky-header .site-header { top: 32px; }

@media (max-width: 782px) {
  body.admin-bar.sn-sticky-header .site-header { top: 46px; }
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

/* The closing call to action sits between two dark blocks: .sn-ask (#0b2024)
   above it and the footer below. It used to be #06171a, the exact colour of
   the footer, so the two read as one slab and the hairline between them was
   the only thing separating a call to action from a copyright line.

   Lifting it to #12333a gives a visible step on both sides while keeping
   every text contrast well clear: white 13.5:1, the body copy 6.3:1, the gold
   eyebrow 8.4:1, and the teal button 3.9:1 against its background. */
.sn-footer-cta {
  background: #12333a;
  padding: 52px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  border-bottom: 1px solid rgba(0, 0, 0, 0.25);
}

.sn-footer-cta__in {
  display: flex;
  justify-content: space-between;
  gap: 32px;
  align-items: center;
  max-width: var(--h-wrap);
  margin-inline: auto;
  padding-inline: var(--h-pad);
}

.sn-footer-cta .ey {
  font: 600 9.5px/1.3 var(--h-mono);
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: var(--h-gold2);
  margin: 0 0 8px;
}

.sn-footer-cta h3 { color: #fff; font-size: clamp(24px, 2.6vw, 34px); max-width: 20ch; margin: 0; letter-spacing: -0.03em; line-height: 1.05; }
.sn-footer-cta p { max-width: 56ch; font-size: 14px; line-height: 1.6; color: #9db6b9; margin-top: 8px; }
.sn-footer-cta .sn-btn { flex: none; }

.sn-site-footer { background: #06171a; color: #9ab0b3; padding-bottom: 26px; }

.sn-footer-main {
  display: grid;
  grid-template-columns: minmax(270px, 1.55fr) repeat(auto-fit, minmax(145px, 0.75fr));
  gap: clamp(42px, 5.5vw, 78px);
  padding: 66px 0 50px;
  max-width: var(--h-wrap);
  margin-inline: auto;
  padding-inline: var(--h-pad);
}

.sn-footer-brand__name { display: block; color: #fff; font-size: 17px; font-weight: 900; line-height: 1; }

.sn-footer-brand__tag {
  display: block;
  margin-top: 5px;
  font: 500 9px/1.3 var(--h-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8fa8ab;
}

.sn-footer-brand .desc { max-width: 44ch; margin-top: 18px; font-size: 14.5px; line-height: 1.65; color: #9ab0b3; }

/* margin, not margin-top. GeneratePress's typography reset indents every list
   with "ul { margin: 0 0 1.5em 3em }", and setting only margin-top left that
   3em in place: the badge row sat 48px right of the brand name and the
   paragraph above it. This is the only list in the theme that reset padding
   but not the margin sides. */
.sn-footer-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.sn-footer-trust li {
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 7px 9px;
  font: 600 8.8px/1.2 var(--h-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #c6d7d9;
}

.sn-footer-col h4 {
  font: 600 9.5px/1 var(--h-mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #e3ecee;
  margin: 0 0 16px;
}

.sn-footer-col ul { list-style: none; margin: 0; padding: 0; }

.sn-footer-col a,
.sn-theme .sn-footer-col a {
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 8px 0;
  font-size: 13px;
  color: #9ab0b3;
  text-decoration: none;
  transition: color 0.18s, transform 0.18s;
}

.sn-footer-col a:hover { color: #fff; transform: translateX(2px); }
.sn-footer-contact p { font-size: 12.5px; line-height: 1.6; margin: 0 0 8px; color: #9ab0b3; }
.sn-footer-contact strong { color: #dce8e9; font-weight: 700; }

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1060px) {
  .sn-hero-grid { grid-template-columns: 1fr; }
  .sn-hero-copy { max-width: none; }
  .sn-hero-card { max-width: 620px; }
  .sn-hero-stats { max-width: none; }
  .sn-search-grid { grid-template-columns: 1fr 1fr; }
  .sn-field:nth-child(2) { border-right: 0; }
  .sn-search-go { grid-column: 1 / -1; border-top: 1px solid var(--h-line); }
  .sn-decision-intro,
  .sn-booking-grid,
  .sn-price-grid,
  .sn-ask-grid { grid-template-columns: 1fr; }
  .sn-qitem { grid-template-columns: 50px 1fr; }
  .sn-qitem > div { grid-column: 2; }
  .sn-footer-main { grid-template-columns: 1.3fr 1fr 1fr; }
  .sn-treks { grid-template-columns: 1fr 1fr; }
  .sn-treks > :last-child:nth-child(3) { grid-column: 1 / -1; max-width: calc(50% - 9px); }
  .sn-regions { grid-template-columns: 1fr 1fr; }
  .sn-fn-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
  .sn-hero { padding-top: 54px; padding-bottom: 76px; }
  .sn-home .sn-hero h1 { font-size: clamp(34px, 10.4vw, 54px); }
  .sn-hero-stats { grid-template-columns: 1fr; gap: 10px; }
  .sn-hero-stat { padding: 16px 0; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.14); }
  .sn-hero-stat:last-child { border-bottom: 0; }
  .sn-hero-card { padding: 20px; }
  .sn-searchwrap { margin-top: -34px; }
  .sn-search-grid { grid-template-columns: 1fr; }
  .sn-field { border-right: 0; border-bottom: 1px solid var(--h-line); }
  .sn-search-go { grid-column: auto; }
  .sn-search-head span { display: none; }
  .sn-sec-head { grid-template-columns: 1fr; }
  .sn-sec-head .sn-lede { justify-self: start; }
  .sn-treks { grid-template-columns: 1fr; }
  .sn-treks > :last-child:nth-child(3) { grid-column: auto; max-width: none; }
  .sn-regions { grid-template-columns: 1fr; }
  .sn-fn-grid { grid-template-columns: 1fr; }
  .sn-reviews-grid { grid-template-columns: 1fr; }
  .sn-trek__img { height: 240px; }
  .sn-qitem { grid-template-columns: 38px 1fr; gap: 15px; }
  .sn-timeline { grid-template-columns: 1fr; }
  .sn-pricecard { padding: 22px; }
  .sn-region { height: 220px; }
  .sn-footer-cta__in { align-items: flex-start; flex-direction: column; }
  .sn-footer-main { grid-template-columns: 1fr 1fr; gap: 34px; padding-block: 52px 40px; }
  .sn-footer-brand { grid-column: 1 / -1; }
  .sn-sec { padding-block: 76px; }
  .sn-price-band { padding-block: 72px; }
  .sn-fieldnote { padding-block: 50px; }
  .sn-sec-head { margin-bottom: 40px; }
  .sn-footer-cta { padding-block: 44px; }
  .sn-ask-card { padding: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  .sn-trek,
  .sn-trek__img img,
  .sn-region img,
  .sn-btn { transition: none; }
}

/* ==========================================================================
   Inner pages built from the standard set
   ========================================================================== */

.sn-pagehero {
  background: var(--h-night);
  color: #fff;
  padding-block: clamp(64px, 7vw, 104px) clamp(56px, 6vw, 88px);
  position: relative;
  overflow: hidden;
}

.sn-pagehero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.13;
  background: repeating-linear-gradient(165deg, transparent 0 38px, rgba(0, 152, 176, 0.35) 39px, transparent 40px 62px);
}

.sn-pagehero .sn-wrap { position: relative; }
.sn-home .sn-pagehero h1 { color: #fff; font-size: clamp(34px, 5vw, 64px); max-width: 18ch; }
.sn-pagehero .sn-kicker { color: var(--h-gold); }
.sn-pagehero .sn-lede { color: #b6d0d3; margin-top: 20px; }

/* Reading column. Wide enough for a table, narrow enough to read. */
.sn-prose { max-width: 74ch; }
.sn-page-sec { padding-block: clamp(56px, 6.5vw, 96px); }

.sn-home .sn-prose h2 {
  font-size: clamp(24px, 2.6vw, 34px);
  margin-top: 2.4em;
  margin-bottom: 0.6em;
}

.sn-home .sn-prose h2:first-child { margin-top: 0; }

.sn-home .sn-prose h3 {
  font-size: clamp(18px, 1.6vw, 21px);
  margin-top: 1.9em;
  margin-bottom: 0.5em;
  color: var(--h-deep);
}

.sn-prose p { margin: 0 0 1.1em; font-size: 16.5px; line-height: 1.68; color: #33403f; }
.sn-prose .sn-lede { color: var(--h-ink2); }
.sn-prose ul,
.sn-prose ol { margin: 0 0 1.4em; padding-left: 1.15em; }
.sn-prose li { margin-bottom: 0.7em; line-height: 1.6; color: #33403f; }
.sn-prose strong { color: var(--h-ink); }

/* Something only the client can fill in. Loud on purpose. */
.sn-todo,
mark.sn-todo {
  background: #fff3d6;
  color: #7a5410;
  padding: 2px 7px;
  border-radius: 3px;
  font-weight: 600;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.sn-notice {
  border-left: 3px solid var(--h-gold);
  padding: 14px 0 14px 18px;
  background: #fffaf0;
}

/* Credential table */
.sn-credtable { border: 1px solid var(--h-line); background: var(--h-line); display: grid; gap: 1px; }

.sn-credtable__row {
  background: #fff;
  display: grid;
  grid-template-columns: minmax(160px, 0.8fr) 1.4fr auto;
  gap: 16px;
  align-items: baseline;
  padding: 16px 20px;
}

.sn-credtable__label {
  font: 500 10px/1.3 var(--h-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--h-ink2);
}

.sn-credtable__value { font: 600 15px/1.4 var(--h-mono); color: var(--h-deep); word-break: break-word; }

.sn-credtable__link a {
  font: 600 9.5px/1.3 var(--h-mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--h-teal2);
  white-space: nowrap;
}

/* Contact card */
.sn-contact-card { border: 1px solid var(--h-line); background: #fff; display: grid; gap: 1px; background: var(--h-line); margin-bottom: 40px; }

.sn-contact-card__row {
  background: #fff;
  display: grid;
  grid-template-columns: minmax(120px, 0.5fr) 1.6fr;
  gap: 16px;
  padding: 16px 20px;
  align-items: baseline;
}

.sn-contact-card__label {
  font: 500 10px/1.3 var(--h-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--h-ink2);
}

.sn-contact-card__value { font-size: 15px; line-height: 1.55; }
.sn-contact-card__value a { color: var(--h-teal2); font-weight: 600; }

/* FAQ */
.sn-faq { max-width: 80ch; }

.sn-home .sn-faq__group {
  font: 600 10px/1.3 var(--h-mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--h-teal2);
  margin: 44px 0 10px;
  letter-spacing: 0.16em;
}

.sn-home .sn-faq__group:first-child { margin-top: 0; }

.sn-faq__item { border-bottom: 1px solid var(--h-line); }

.sn-faq__item summary {
  cursor: pointer;
  list-style: none;
  padding: 18px 34px 18px 0;
  font-weight: 700;
  font-size: 16.5px;
  position: relative;
  color: var(--h-ink);
}

.sn-faq__item summary::-webkit-details-marker { display: none; }

.sn-faq__item summary::after {
  content: "+";
  position: absolute;
  right: 4px;
  top: 16px;
  font-size: 20px;
  font-weight: 400;
  color: var(--h-teal2);
}

.sn-faq__item[open] summary::after { content: "–"; }
.sn-faq__answer { padding: 0 34px 20px 0; }
.sn-faq__answer p { margin: 0 0 0.9em; color: #33403f; line-height: 1.65; font-size: 15.5px; }
.sn-faq__answer p:last-child { margin-bottom: 0; }

@media (max-width: 700px) {
  .sn-credtable__row,
  .sn-contact-card__row { grid-template-columns: 1fr; gap: 6px; }
  .sn-credtable__link { padding-top: 4px; }
}

/* Turnstile widget in the enquiry form. Only present once keys are set. */
.sn-turnstile { margin: 0 0 1rem; min-height: 65px; }

/* --------------------------------------------------------------------------
   Reviews band

   A white card under the hero and the trip finder, deliberately the only
   white thing between a dark hero and the sections below it, so the eye lands
   on it. It holds either Tripadvisor's own iframe widget or, when there is no
   widget, the rating drawn in our own type beside a logo the owner uploaded
   from Tripadvisor's brand assets.

   The stars are plain star glyphs. Tripadvisor scores with green bubbles, and
   redrawing that device in CSS would be dressing our markup up as their
   badge, so it is not done here.
   -------------------------------------------------------------------------- */

.sn-tabar {
  position: relative;
  z-index: 9;
  max-width: var(--h-wrap);
  margin: 26px auto 0;
  padding-inline: var(--h-pad);
}

.sn-tabar__box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 18px;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  background: #fff;
  border: 1px solid var(--h-line);
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(3, 44, 53, 0.1);
  padding: 14px 20px;
}

.sn-tabar__widget { display: flex; align-items: center; }

.sn-tabar__logo { display: block; height: 28px; width: auto; }

/* Fallback when no logo file has been uploaded. Set in type, not drawn as a
   mark, because a hand-made wordmark would be a copy of their trademark. */
.sn-tabar__src {
  font-weight: 800;
  font-size: 15px;
  letter-spacing: -0.01em;
  color: var(--h-ink);
}

.sn-tabar__stars { display: inline-flex; gap: 2px; }

.sn-tabar__star { font-size: 16px; line-height: 1; color: var(--h-line); }
.sn-tabar__star.is-on { color: #e8b84b; }

/* Half star: one glyph, clipped, over a grey one. */
.sn-tabar__star.is-half {
  position: relative;
  color: var(--h-line);
}
.sn-tabar__star.is-half::before {
  content: "\2605";
  position: absolute;
  inset: 0;
  width: 50%;
  overflow: hidden;
  color: #e8b84b;
}

.sn-tabar__score { font-weight: 800; font-size: 16px; color: var(--h-ink); }
.sn-tabar__count { font-size: 13px; color: var(--h-ink2); }

.sn-tabar__link {
  font-size: 13px;
  font-weight: 600;
  color: var(--h-teal2);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.sn-tabar__link:hover { color: var(--h-deep); }

@media (max-width: 700px) {
  .sn-tabar { margin-top: 18px; }
  .sn-tabar__box { gap: 6px 12px; padding: 12px 14px; justify-content: center; }
  .sn-tabar__count { width: 100%; text-align: center; }
}

/* ----------------------------------------------------------------------
   Tripadvisor band stacked under the hero proof card.
   In the hero it sits in a narrow column, so it drops the page-wide wrap
   and the page gutter and fills the column instead.
   ---------------------------------------------------------------------- */
.sn-hero-side { display: grid; gap: 14px; align-content: center; }

.sn-hero-side .sn-tabar {
  max-width: none;
  margin: 0;
  padding-inline: 0;
}

.sn-hero-side .sn-tabar__box {
  width: 100%;
  justify-content: center;
  gap: 6px 12px;
  padding: 12px 16px;
}

@media (max-width: 1100px) {
  .sn-hero-side { max-width: 620px; }
}

/* ----------------------------------------------------------------------
   The hero's right-hand side as ONE component.

   It used to be two stacked white boxes with two shadows, which read as two
   widgets that happened to be near each other. The rounding, the border and
   the shadow now belong to the wrapper, and the card and the rating are two
   sections inside it, divided by a hairline.
   ---------------------------------------------------------------------- */
.sn-hero-side {
  gap: 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 34px rgba(4, 26, 30, 0.18);
}

.sn-hero-side .sn-hero-card {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.sn-hero-side .sn-tabar__box {
  border: 0;
  border-top: 1px solid var(--h-line-soft);
  border-radius: 0;
  box-shadow: none;
  background: #f4f7f7;
  padding: 11px 18px;
  justify-content: center;
}

/* ----------------------------------------------------------------------
   Card, quieter.

   It sits beside the headline, so it is support, not a second headline.
   Narrower column, less padding, smaller type, and a softer shadow.
   ---------------------------------------------------------------------- */
@media (min-width: 1061px) {
  .sn-hero-grid { grid-template-columns: minmax(0, 1.22fr) minmax(280px, 0.5fr); }
}

.sn-hero-side .sn-hero-card { padding: clamp(18px, 2vw, 24px); }
.sn-hero-side .sn-hero-card__top {
  font-size: 9.6px;
  margin-bottom: 14px;
  /* The bigger size pushed this caps label onto two lines once the column hit
     its 280px floor, which it does from 1061px to about 1150px. Closing the
     tracking from 0.19em to 0.10em puts it back on one line across the whole
     range. Measured at 1600, 1440, 1280, 1200, 1140, 1100, 1070 and 1061. */
  letter-spacing: 0.10em;
}
.sn-hero-side .sn-proofline { padding: 10px 0; font-size: 14.5px; }
.sn-hero-side .sn-proofline b { font-size: 13.5px; }
.sn-hero-side .sn-hero-card__check {
  margin-top: 14px;
  padding-top: 14px;
  font-size: 13.5px;
  line-height: 1.5;
}
.sn-hero-side .sn-hero-card__check i { width: 17px; height: 17px; font-size: 10.5px; }

.sn-hero-side .sn-tabar__score { font-size: 16px; }
.sn-hero-side .sn-tabar__src { font-size: 15px; }
.sn-hero-side .sn-tabar__star { font-size: 16px; }
.sn-hero-side .sn-tabar__count,
.sn-hero-side .sn-tabar__link { font-size: 13px; }

/* ----------------------------------------------------------------------
   Registration numbers, foot of the footer.
   Same wrap and gutter as .sn-footer-main so it lines up with the columns
   above it. margin is set on all four sides because GeneratePress's
   typography reset indents every ul by 3em.
   ---------------------------------------------------------------------- */
.sn-footer-creds {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 30px;
  list-style: none;
  margin: 0 auto;
  padding: 22px 0 0;
  padding-inline: var(--h-pad);
  max-width: var(--h-wrap);
  position: relative;
}

/* The rule sits inside the gutter rather than on the box, so it lines up with
   the footer columns above instead of running out to the padding edge. */
.sn-footer-creds::before {
  content: "";
  position: absolute;
  top: 0;
  left: var(--h-pad);
  right: var(--h-pad);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.sn-footer-creds li {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin: 0;
  padding: 0;
  font-size: 12.5px;
  line-height: 1.4;
}

.sn-footer-creds span {
  color: #6f8a8e;
  letter-spacing: 0.02em;
}

.sn-footer-creds b {
  color: #cfdcdd;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 700px) {
  .sn-footer-creds { gap: 8px 20px; padding-top: 18px; }
  .sn-footer-creds li { font-size: 12px; }
}

/* ----------------------------------------------------------------------
   Proof card rows: numbers versus statements.
   Six rows now instead of four, so the rows tighten. Numbers get tabular
   figures and the full dark ink; the two operating facts sit a shade back,
   because they are our word where the numbers above are checkable.
   ---------------------------------------------------------------------- */
.sn-proofline b.is-num {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  letter-spacing: 0;
  white-space: nowrap;
}

.sn-proofline.is-fact b { color: var(--h-ink2); font-weight: 500; }

/* Six rows in a card asked to stay small. */
.sn-hero-side .sn-proofline { padding: 9px 0; }
.sn-hero-side .sn-proofline:first-of-type { padding-top: 0; }
.sn-hero-side .sn-proofline:last-of-type { border-bottom: 0; }
.sn-hero-side .sn-hero-card__check { margin-top: 10px; padding-top: 12px; }
