/* Goldstones Family Farm — design tokens
   Names match handover/tokens.json exactly. Divi 5: paste into global CSS. */

:root {
  /* Colour */
  --gs-cream:        #EFE9DB;
  --gs-cream-alt:    #FBF8F0;  /* deprecated alias of surface — see NOTES */
  --gs-surface:      #FBF8F0;
  --gs-moss:         #4C5A3C;
  --gs-moss-deep:    #36422E;
  --gs-moss-mid:     #6B7A57;
  --gs-moss-light:   #A7B292;
  --gs-moss-tint:    #E4E7DA;
  --gs-amber:        #C68A2E;
  --gs-amber-deep:   #7D5510;
  --gs-amber-light:  #E0B156;
  --gs-umber:        #7C5A43;
  --gs-umber-deep:   #5A4030;
  --gs-ink:          #29271F;
  --gs-muted:        #5F5A4C;
  --gs-rule:         #DDD5C4;
  --gs-rule-soft:    #EDE6D6;
  --gs-disabled-bg:  #DDD5C4;
  --gs-disabled-fg:  #8A836F;
  --gs-navy:         #1E2B3C;
  --gs-navy-light:   #33455E;
  --gs-navy-ink:     #9FB4D0;
  --gs-navy-paper:   #F2F5F9;
  --gs-success:      #4C5A3C;
  --gs-success-bg:   #E4E7DA;
  --gs-success-fg:   #3F5231;
  --gs-warning:      #C68A2E;
  --gs-warning-bg:   #FBF3E2;
  --gs-warning-fg:   #7D5510;
  --gs-error:        #93301F;
  --gs-error-bg:     #F7E4DE;
  --gs-error-fg:     #7E2C1A;

  /* Type */
  --gs-font-head:  "Cabin", system-ui, -apple-system, sans-serif;
  --gs-font-body:  "Cabin", system-ui, -apple-system, sans-serif;
  --gs-font-quote: "Bitter", Georgia, serif;

  --gs-display: 40px; --gs-display-lh: 1.04; --gs-display-ls: -0.02em;
  --gs-h1: 32px;  --gs-h1-lh: 1.08; --gs-h1-ls: -0.02em;
  --gs-h2: 26px;  --gs-h2-lh: 1.14; --gs-h2-ls: -0.01em;
  --gs-h3: 21px;  --gs-h3-lh: 1.22; --gs-h3-ls: -0.005em;
  --gs-h4: 18px;  --gs-h4-lh: 1.32;
  --gs-standfirst: 18px; --gs-standfirst-lh: 1.5;
  --gs-body: 17px;    --gs-body-lh: 1.6;
  --gs-small: 16px;   --gs-small-lh: 1.55;
  --gs-caption: 16px; --gs-caption-lh: 1.4;
  --gs-button: 17px;
  --gs-overline: 16px; --gs-overline-ls: 0.16em;

  /* Spacing */
  --gs-s1: 4px;  --gs-s2: 8px;  --gs-s3: 12px; --gs-s4: 16px; --gs-s5: 24px;
  --gs-s6: 32px; --gs-s7: 48px; --gs-s8: 64px; --gs-s9: 96px; --gs-s10: 128px;

  /* Layout */
  --gs-max: 1280px;
  --gs-measure: 68ch;
  --gs-margin: clamp(20px, 5vw, 64px);
  --gs-gutter: 16px;
  --gs-section-y: 48px;
  --gs-tap: 44px;

  /* Radii */
  --gs-r0: 0; --gs-r1: 4px; --gs-r2: 8px; --gs-r3: 12px; --gs-r4: 20px; --gs-rfull: 999px;

  /* Elevation */
  --gs-e0: none;
  --gs-e1: 0 1px 2px rgba(41,39,31,.06);
  --gs-e2: 0 4px 14px -4px rgba(41,39,31,.14);
  --gs-e3: 0 18px 40px -16px rgba(41,39,31,.26);

  /* Motion */
  --gs-dur-hover: 120ms;
  --gs-dur-panel: 240ms;
  --gs-dur-page: 180ms;
  --gs-ease: cubic-bezier(.2,0,.38,1);
  --gs-ease-out: cubic-bezier(.2,0,0,1);

  /* Focus */
  --gs-focus:       0 0 0 2px #EFE9DB, 0 0 0 5px #7D5510;
  --gs-focus-dark:  0 0 0 2px #36422E, 0 0 0 5px #E0B156;
  --gs-focus-photo: 0 0 0 2px #FFFFFF, 0 0 0 5px #29271F;

  /* Photography */
  --gs-ratio-hero: 16 / 9;
  --gs-ratio-card: 4 / 3;
  --gs-ratio-product: 1 / 1;
  --gs-ratio-gallery: 3 / 2;
  --gs-photo-radius: 12px;
  --gs-scrim: linear-gradient(to top, rgba(41,39,31,.84) 0%, rgba(41,39,31,.78) 62%, rgba(41,39,31,.44) 86%, rgba(41,39,31,0) 100%);
  --gs-scrim-base: rgba(41,39,31,.08);
  /* Text over photography is ALWAYS cream. Amber is an accent rule beside the
     eyebrow, never the letterforms — amber on sky sits on the AA threshold. */
}

@media (min-width: 768px)  { :root { --gs-gutter: 24px; --gs-section-y: 64px; } }
@media (min-width: 1024px) {
  :root {
    --gs-section-y: 80px;
    --gs-display: 64px; --gs-display-lh: 1.0;
    --gs-h1: 48px; --gs-h2: 38px; --gs-h3: 28px; --gs-h4: 22px;
    --gs-standfirst: 22px; --gs-body: 18px; --gs-small: 16px;
    --gs-caption: 15px; --gs-button: 16px; --gs-overline: 13px;
  }
}
@media (min-width: 1440px) { :root { --gs-gutter: 32px; --gs-section-y: 96px; } }
@media (prefers-reduced-motion: reduce) {
  :root { --gs-dur-hover: 0ms; --gs-dur-panel: 0ms; --gs-dur-page: 0ms; }
}

/* ── Base ─────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--gs-cream);
  color: var(--gs-ink);
  font-family: var(--gs-font-body);
  font-size: var(--gs-body);
  line-height: var(--gs-body-lh);
  -webkit-font-smoothing: antialiased;
  text-wrap: pretty;
}
img, svg { display: block; max-width: 100%; }

a { color: var(--gs-amber-deep); text-decoration: underline; text-underline-offset: 2px; }
a:hover { color: var(--gs-umber-deep); }
a:focus-visible { outline: none; box-shadow: var(--gs-focus); border-radius: var(--gs-r1); }

h1, h2, h3, h4 { font-family: var(--gs-font-head); margin: 0; }
h1 { font-size: var(--gs-h1); line-height: var(--gs-h1-lh); letter-spacing: var(--gs-h1-ls); font-weight: 700; color: var(--gs-moss-deep); }
h2 { font-size: var(--gs-h2); line-height: var(--gs-h2-lh); letter-spacing: var(--gs-h2-ls); font-weight: 700; color: var(--gs-moss-deep); }
h3 { font-size: var(--gs-h3); line-height: var(--gs-h3-lh); letter-spacing: var(--gs-h3-ls); font-weight: 600; }
h4 { font-size: var(--gs-h4); line-height: var(--gs-h4-lh); font-weight: 600; }

.gs-display   { font-size: var(--gs-display); line-height: var(--gs-display-lh); letter-spacing: var(--gs-display-ls); font-weight: 700; }
.gs-standfirst{ font-size: var(--gs-standfirst); line-height: var(--gs-standfirst-lh); color: var(--gs-muted); }
.gs-small     { font-size: var(--gs-small); line-height: var(--gs-small-lh); }
.gs-caption   { font-size: var(--gs-caption); line-height: var(--gs-caption-lh); color: var(--gs-muted); }
.gs-overline  { font-size: var(--gs-overline); letter-spacing: var(--gs-overline-ls); text-transform: uppercase; font-weight: 600; color: var(--gs-amber-deep); }
.gs-quote     { font-family: var(--gs-font-quote); font-style: italic; font-weight: 500; }
.gs-measure   { max-width: var(--gs-measure); }

/* Secondary text is safe on every ground in this system INCLUDING moss-tint.
   Do not lighten --gs-muted: #6E685B fails AA (4.41:1) on --gs-moss-tint,
   which is the ground for basket panels, seasonal bands and key-fact pills. */
.gs-provisional {
  color: var(--gs-muted);
  border-bottom: 1px dashed var(--gs-amber);
  font-style: italic;
}
.gs-visually-hidden {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.gs-wrap { max-width: var(--gs-max); margin: 0 auto; padding-inline: var(--gs-margin); }
.gs-section { padding-block: var(--gs-section-y); }

/* ── Buttons ──────────────────────────────────────────── */
.gs-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  min-height: var(--gs-tap);
  padding: 12px 24px;
  border: 1.5px solid transparent;
  border-radius: var(--gs-rfull);
  font-family: var(--gs-font-body);
  font-size: var(--gs-button); font-weight: 600;
  text-decoration: none; cursor: pointer;
  transition: background var(--gs-dur-hover) var(--gs-ease),
              color var(--gs-dur-hover) var(--gs-ease),
              border-color var(--gs-dur-hover) var(--gs-ease),
              box-shadow var(--gs-dur-hover) var(--gs-ease);
}
.gs-btn--lg { padding: 15px 28px; font-size: 18px; }
.gs-btn--sm { padding: 9px 18px; font-size: 15px; }
.gs-btn--block { display: flex; width: 100%; }

.gs-btn--primary { background: var(--gs-moss-deep); color: var(--gs-cream-alt); }
.gs-btn--primary:hover, .gs-btn--primary.is-hover { background: var(--gs-moss); }
.gs-btn--primary:focus-visible, .gs-btn--primary.is-focus { outline: none; box-shadow: var(--gs-focus); }
.gs-btn--primary:active, .gs-btn--primary.is-active { background: #2B3524; }

.gs-btn--secondary { background: transparent; color: var(--gs-moss-deep); border-color: var(--gs-moss-mid); }
.gs-btn--secondary:hover, .gs-btn--secondary.is-hover { background: var(--gs-moss-tint); border-color: var(--gs-moss); }
.gs-btn--secondary:focus-visible, .gs-btn--secondary.is-focus { outline: none; box-shadow: var(--gs-focus); }
.gs-btn--secondary:active, .gs-btn--secondary.is-active { background: #D8DDCB; }

.gs-btn--tertiary { background: none; color: var(--gs-amber-deep); padding-inline: 6px; min-height: var(--gs-tap); }
.gs-btn--tertiary:hover, .gs-btn--tertiary.is-hover { color: var(--gs-umber-deep); text-decoration: underline; text-underline-offset: 3px; }
.gs-btn--tertiary:focus-visible, .gs-btn--tertiary.is-focus { outline: none; box-shadow: var(--gs-focus); border-radius: var(--gs-r1); }
.gs-btn--tertiary:active, .gs-btn--tertiary.is-active { color: #4A3324; }

.gs-btn[disabled], .gs-btn.is-disabled {
  background: var(--gs-disabled-bg); color: var(--gs-disabled-fg);
  border-color: transparent; cursor: not-allowed; box-shadow: none;
}
.gs-btn.is-loading { position: relative; color: transparent; pointer-events: none; }
.gs-btn.is-loading::after {
  content: ""; position: absolute; width: 19px; height: 19px;
  border: 2.5px solid rgba(247,242,232,.35); border-top-color: var(--gs-cream-alt);
  border-radius: 50%; animation: gs-spin 620ms linear infinite;
}
.gs-btn--secondary.is-loading::after { border-color: rgba(54,66,46,.25); border-top-color: var(--gs-moss-deep); }
@keyframes gs-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .gs-btn.is-loading::after { animation-duration: 1800ms; } }

/* on dark grounds */
.gs-on-dark .gs-btn--primary { background: var(--gs-amber-light); color: var(--gs-ink); }
.gs-on-dark .gs-btn--primary:hover, .gs-on-dark .gs-btn--primary.is-hover { background: #EBC272; }
.gs-on-dark .gs-btn--primary:focus-visible, .gs-on-dark .gs-btn--primary.is-focus { box-shadow: var(--gs-focus-dark); }
.gs-on-dark .gs-btn--secondary { color: var(--gs-cream-alt); border-color: #8A9678; }
.gs-on-dark .gs-btn--secondary:hover { background: rgba(247,242,232,.1); }

/* ── Chips ────────────────────────────────────────────── */
.gs-chip {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 14px; border-radius: var(--gs-rfull);
  font-size: 14.5px; font-weight: 600;
}
.gs-chip__dot { width: 9px; height: 9px; border-radius: 50%; flex: none; }
.gs-chip--available { background: var(--gs-success-bg); color: var(--gs-success-fg); }
.gs-chip--available .gs-chip__dot { background: var(--gs-success); }
.gs-chip--limited { background: var(--gs-warning-bg); color: var(--gs-warning-fg); }
.gs-chip--limited .gs-chip__dot { background: var(--gs-warning); }
.gs-chip--full { background: var(--gs-error-bg); color: var(--gs-error-fg); }
.gs-chip--full .gs-chip__dot { background: var(--gs-error); }

/* ── Fields ───────────────────────────────────────────── */
.gs-field { display: flex; flex-direction: column; gap: 7px; }
.gs-label { font-weight: 600; font-size: 15.5px; color: var(--gs-ink); }
.gs-help { font-size: 14.5px; color: var(--gs-muted); }
.gs-input, .gs-textarea, .gs-select {
  min-height: 48px; width: 100%;
  padding: 12px 14px;
  border: 1.5px solid var(--gs-rule); border-radius: var(--gs-r2);
  background: #FFFFFF; color: var(--gs-ink);
  font-family: var(--gs-font-body); font-size: 16.5px; line-height: 1.5;
  transition: border-color var(--gs-dur-hover) var(--gs-ease), box-shadow var(--gs-dur-hover) var(--gs-ease);
}
.gs-textarea { min-height: 104px; resize: vertical; }
.gs-input::placeholder, .gs-textarea::placeholder { color: #A09A8B; }
.gs-input:hover, .gs-textarea:hover, .gs-select:hover { border-color: var(--gs-moss-light); }
.gs-input:focus, .gs-textarea:focus, .gs-select:focus,
.gs-input.is-focus, .gs-textarea.is-focus, .gs-select.is-focus {
  outline: none; border-color: var(--gs-moss); box-shadow: var(--gs-focus);
}
.gs-input[disabled], .gs-textarea[disabled], .gs-select[disabled] {
  background: #F1EDE2; color: var(--gs-disabled-fg); border-color: var(--gs-rule); cursor: not-allowed;
}
.gs-input.is-error, .gs-textarea.is-error { border-color: var(--gs-error); background: #FFFDFC; }
.gs-input.is-success { border-color: var(--gs-moss); }
.gs-error-msg { display: flex; align-items: center; gap: 7px; font-size: 15px; color: var(--gs-error-fg); font-weight: 500; }
.gs-success-msg { display: flex; align-items: center; gap: 7px; font-size: 15px; color: var(--gs-success-fg); font-weight: 500; }

.gs-check { display: flex; align-items: flex-start; gap: 12px; min-height: var(--gs-tap); cursor: pointer; }
.gs-check__box {
  width: 24px; height: 24px; flex: none; margin-top: 2px;
  border: 1.5px solid var(--gs-moss-light); border-radius: var(--gs-r1); background: #FFFFFF;
  display: flex; align-items: center; justify-content: center;
}
.gs-check__box--radio { border-radius: 50%; }
.gs-check.is-checked .gs-check__box { background: var(--gs-moss-deep); border-color: var(--gs-moss-deep); }
.gs-check.is-focus .gs-check__box { box-shadow: var(--gs-focus); }
.gs-check.is-disabled { cursor: not-allowed; }
.gs-check.is-disabled .gs-check__box { background: #F1EDE2; border-color: var(--gs-rule); }
.gs-check.is-disabled .gs-check__text { color: var(--gs-disabled-fg); }
.gs-check__text { font-size: 16.5px; line-height: 1.5; }

.gs-stepper {
  display: inline-flex; align-items: center;
  border: 1.5px solid var(--gs-moss-light); border-radius: var(--gs-rfull);
  background: #FFFFFF; overflow: hidden;
}
.gs-stepper__btn {
  width: 48px; height: 48px; flex: none;
  display: flex; align-items: center; justify-content: center;
  background: none; border: 0; cursor: pointer;
  transition: background var(--gs-dur-hover) var(--gs-ease);
}
.gs-stepper__btn:first-child { border-right: 1.5px solid var(--gs-rule-soft); }
.gs-stepper__btn:last-child { border-left: 1.5px solid var(--gs-rule-soft); }
.gs-stepper__btn:hover, .gs-stepper__btn.is-hover { background: var(--gs-moss-tint); }
.gs-stepper__btn:focus-visible, .gs-stepper__btn.is-focus { outline: none; box-shadow: var(--gs-focus); }
.gs-stepper__btn[disabled], .gs-stepper__btn.is-disabled { cursor: not-allowed; opacity: .4; }
.gs-stepper__val { min-width: 54px; text-align: center; font-weight: 600; font-size: 19px; }
.gs-stepper.is-focus { box-shadow: var(--gs-focus); }

.gs-turnstile {
  display: flex; align-items: center; gap: 12px;
  border: 1px solid var(--gs-rule); border-radius: var(--gs-r2);
  background: #F4F0E5; padding: 13px 15px;
}
.gs-turnstile__box { width: 22px; height: 22px; flex: none; border: 1.5px solid var(--gs-moss-light); border-radius: var(--gs-r1); background: #FFFFFF; }
.gs-turnstile.is-verified { border-style: dashed; border-color: var(--gs-moss-light); background: var(--gs-cream); }
.gs-turnstile.is-verified .gs-turnstile__box {
  background: var(--gs-moss-deep); border-color: var(--gs-moss-deep);
  display: flex; align-items: center; justify-content: center;
}

/* ── Cards ────────────────────────────────────────────── */
.gs-card {
  background: var(--gs-surface);
  border: 1px solid var(--gs-rule);
  border-radius: var(--gs-r4);
  box-shadow: var(--gs-e1);
  overflow: hidden;
  display: flex; flex-direction: column;
  text-decoration: none; color: inherit;
  transition: box-shadow var(--gs-dur-hover) var(--gs-ease), transform var(--gs-dur-hover) var(--gs-ease);
}
a.gs-card:hover, .gs-card.is-hover { box-shadow: var(--gs-e2); transform: translateY(-2px); }
a.gs-card:focus-visible, .gs-card.is-focus { outline: none; box-shadow: var(--gs-focus); }
.gs-card__media { aspect-ratio: var(--gs-ratio-card); overflow: hidden; }
.gs-card__media img { width: 100%; height: 100%; object-fit: cover; }
.gs-card__body { padding: 22px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.gs-card__empty {
  aspect-ratio: var(--gs-ratio-product);
  background: var(--gs-moss-tint);
  display: flex; align-items: center; justify-content: center;
}
.gs-card--service { border-left: 4px solid var(--gs-moss); border-radius: 0 var(--gs-r4) var(--gs-r4) 0; padding: 26px; }
.gs-card.is-unavailable { opacity: 1; }
.gs-card.is-unavailable .gs-card__empty { background: #E7E2D3; }
.gs-badge {
  position: absolute; top: 12px; left: 12px;
  font-weight: 600; font-size: 13px; letter-spacing: .05em; text-transform: uppercase;
  padding: 5px 11px; border-radius: var(--gs-r1); color: var(--gs-cream-alt);
}
.gs-badge--collection { background: var(--gs-umber); }
.gs-badge--oos { background: var(--gs-muted); }

.gs-facts { display: flex; flex-wrap: wrap; gap: 8px; }
.gs-fact {
  display: inline-flex; align-items: center; gap: 7px;
  background: var(--gs-moss-tint); border-radius: var(--gs-r1);
  padding: 7px 12px; font-size: 15px; white-space: nowrap;
}
.gs-fact--provisional {
  background: var(--gs-warning-bg); border: 1px dashed var(--gs-amber);
  color: var(--gs-warning-fg); font-style: italic;
}

/* ── Media + scrim ────────────────────────────────────── */
.gs-media { position: relative; overflow: hidden; }
.gs-media img { width: 100%; height: 100%; object-fit: cover; }
.gs-media__scrim { position: absolute; inset: 0; background: var(--gs-scrim); pointer-events: none; }
.gs-media__content { position: absolute; inset-inline: 0; bottom: 0; padding: 32px 34px; }
.gs-eyebrow-photo { display: flex; align-items: center; gap: 11px; margin-bottom: 12px; }
.gs-eyebrow-photo__rule { width: 26px; height: 3px; background: var(--gs-amber-light); border-radius: 2px; flex: none; }
.gs-eyebrow-photo__text { font-weight: 600; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--gs-cream-alt); }

/* ── Bands ────────────────────────────────────────────── */
.gs-band {
  background: var(--gs-moss-tint); border: 1px solid var(--gs-rule);
  border-radius: var(--gs-r4); overflow: hidden;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
}
.gs-band__body { padding: clamp(28px, 4vw, 42px) clamp(24px, 4vw, 44px); display: flex; flex-direction: column; justify-content: center; }
.gs-band--sister { background: var(--gs-navy); border-color: var(--gs-navy); }
.gs-band--sister h2, .gs-band--sister h3 { color: var(--gs-navy-paper); }
.gs-band--sister p { color: var(--gs-navy-ink); }

/* ── Lists ────────────────────────────────────────────── */
.gs-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 11px 24px; }
.gs-list__item { display: flex; align-items: flex-start; gap: 9px; font-size: 16px; line-height: 1.5; }
.gs-list__num { font-family: var(--gs-font-quote); font-weight: 600; color: var(--gs-amber-deep); flex: none; }

/* ── Header / footer ──────────────────────────────────── */
.gs-header { background: var(--gs-surface); border-bottom: 1px solid var(--gs-rule-soft); }
.gs-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 16px; flex-wrap: wrap; }
.gs-logo { display: flex; align-items: center; gap: 11px; white-space: nowrap; text-decoration: none; }
.gs-logo__name { font-family: var(--gs-font-head); font-weight: 700; font-size: 22px; line-height: .9; letter-spacing: -.015em; color: var(--gs-moss-deep); }
.gs-logo__sub { display: flex; flex-direction: column; border-left: 2px solid var(--gs-amber); padding-left: 9px; }
.gs-logo__sub span { font-weight: 600; font-size: 10.5px; letter-spacing: .1em; color: var(--gs-moss); line-height: 1.25; }
.gs-nav { display: flex; align-items: center; gap: clamp(12px, 2vw, 22px); flex-wrap: wrap; }
/* Buttons keep their own colour inside the nav — .gs-nav a would otherwise
   outrank .gs-btn--* on specificity and strip it. */
.gs-nav a:not(.gs-btn) { color: var(--gs-ink); text-decoration: none; font-size: 16px; font-weight: 500; }
.gs-nav a:not(.gs-btn):hover { color: var(--gs-amber-deep); text-decoration: underline; text-underline-offset: 4px; }
.gs-header--over-photo { background: none; border: 0; position: absolute; inset-inline: 0; top: 0; z-index: 2; }
.gs-header--over-photo .gs-logo__name { color: var(--gs-cream-alt); }
.gs-header--over-photo .gs-logo__sub span { color: #D8DFCB; }
.gs-header--over-photo .gs-nav a:not(.gs-btn) { color: var(--gs-cream-alt); }
.gs-header--scrolled { box-shadow: var(--gs-e3); border-bottom-color: var(--gs-rule); }
.gs-header--navy { background: var(--gs-navy); border-bottom-color: var(--gs-navy-light); }
.gs-header--navy .gs-nav a:not(.gs-btn) { color: #C7D4E4; }

.gs-footer { background: var(--gs-moss-deep); color: #DDE3D1; }
.gs-footer__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: clamp(26px, 4vw, 40px); }
.gs-footer h4 { font-family: var(--gs-font-quote); font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--gs-amber-light); margin-bottom: 16px; }
.gs-footer a { color: #DDE3D1; text-decoration: none; }
.gs-footer a:hover { color: #FFFFFF; text-decoration: underline; text-underline-offset: 3px; }
.gs-footer .gs-logo__name { color: var(--gs-cream-alt); }
.gs-footer .gs-logo__sub { border-left-color: var(--gs-amber-light); }
.gs-footer .gs-logo__sub span { color: #C7CDB9; }
.gs-social { width: 44px; height: 44px; border: 1px solid var(--gs-moss-mid); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.gs-social:hover { background: var(--gs-moss); }
