.elementor-11 .elementor-element.elementor-element-1869b60{width:100%;max-width:100%;}.elementor-11 .elementor-element.elementor-element-1869b60 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}/* Start custom CSS for html, class: .elementor-element-1869b60 *//* =========================================================
   THINK CITY EDUCATION SOCIETY
   CIVIC DAYLIGHT FOOTER DESIGN SYSTEM v3.0

   Canonical component:
   .tc-site-footer

   Designed for:
   - TheGem and Elementor
   - ScrollMeta 8.2 footer HTML
   - Embedded Elfsight Instagram feed
   - 18px minimum reading size
   - Bright civic-education visual language
   - Desktop, tablet and mobile layouts

   Replace previous custom footer CSS with this stylesheet.
========================================================= */


/* =========================================================
   1. DESIGN TOKENS AND GLOBAL FOUNDATION
========================================================= */

.tc-site-footer {
  /* Text */
  --tcf-ink: #111a14;
  --tcf-ink-soft: #253229;
  --tcf-copy: #3a493f;
  --tcf-muted: #627067;
  --tcf-subtle: #77827b;

  /* Think City greens */
  --tcf-green-950: #18361e;
  --tcf-green-900: #244b2a;
  --tcf-green-850: #2e5933;
  --tcf-green-800: #3a6b3d;
  --tcf-green-700: #4f8143;
  --tcf-green-600: #689b49;
  --tcf-green-500: #85b84f;
  --tcf-green-400: #a2ca74;
  --tcf-green-300: #bddb96;
  --tcf-green-200: #d9e9c9;
  --tcf-green-150: #e5f0da;
  --tcf-green-100: #eef6e7;
  --tcf-green-050: #f7faf3;

  /* Surfaces */
  --tcf-white: #ffffff;
  --tcf-paper: #fffefa;
  --tcf-daylight: #fcfcf8;
  --tcf-warm: #faf8f1;
  --tcf-sage: #f1f7eb;

  /* Borders */
  --tcf-line: rgba(36, 75, 42, 0.15);
  --tcf-line-soft: rgba(36, 75, 42, 0.085);
  --tcf-line-strong: rgba(36, 75, 42, 0.26);

  /* Shadows */
  --tcf-shadow-xs:
    0 5px 16px rgba(20, 38, 24, 0.04);

  --tcf-shadow-sm:
    0 14px 34px rgba(20, 38, 24, 0.065),
    0 4px 11px rgba(20, 38, 24, 0.025);

  --tcf-shadow-md:
    0 26px 62px rgba(20, 38, 24, 0.09),
    0 8px 20px rgba(20, 38, 24, 0.04);

  --tcf-shadow-lg:
    0 40px 92px rgba(20, 38, 24, 0.13),
    0 14px 32px rgba(20, 38, 24, 0.055);

  /* Corners */
  --tcf-radius-sm: 13px;
  --tcf-radius-md: 19px;
  --tcf-radius-lg: 28px;
  --tcf-radius-xl: 42px;
  --tcf-pill: 999px;

  /* Layout */
  --tcf-content: 1540px;
  --tcf-gutter: clamp(24px, 5vw, 84px);

  background: var(--tcf-paper);
  color: var(--tcf-copy);

  font-family:
    Inter,
    "Helvetica Neue",
    Helvetica,
    Arial,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  font-size: 18px;
  line-height: 1.72;

  max-width: none !important;
  overflow: hidden;
  position: relative;
  width: 100%;

  color-scheme: light;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.tc-site-footer,
.tc-site-footer *,
.tc-site-footer *::before,
.tc-site-footer *::after {
  box-sizing: border-box;
}

.tc-site-footer p,
.tc-site-footer li,
.tc-site-footer dd {
  font-size: 18px;
  line-height: 1.72;
}

.tc-site-footer p {
  margin: 0;
  text-wrap: pretty;
}

.tc-site-footer a {
  text-underline-offset: 0.19em;
}

.tc-site-footer img {
  display: block;
  height: auto;
  max-width: 100%;
}

.tc-site-footer :focus-visible {
  border-radius: 7px;
  outline: 4px solid rgba(133, 184, 79, 0.58);
  outline-offset: 4px;
}


/* =========================================================
   2. FULL-WIDTH NORMALIZATION
========================================================= */

.tc-site-footer {
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  position: relative;
  right: 50%;
  width: 100vw;
}

.tc-site-footer__wrap {
  margin-inline: auto;
  max-width: var(--tcf-content);
  padding-inline: var(--tcf-gutter);
  position: relative;
  width: 100%;
}


/* =========================================================
   3. OPENING CONNECTION PANEL
========================================================= */

.tc-site-footer__opening {
  background:
    radial-gradient(
      circle at 7% 8%,
      rgba(133, 184, 79, 0.21),
      transparent 29%
    ),
    radial-gradient(
      circle at 93% 90%,
      rgba(217, 233, 201, 0.64),
      transparent 34%
    ),
    linear-gradient(
      138deg,
      #f3f8ed 0%,
      #ffffff 57%,
      #f8faf4 100%
    );

  border-bottom: 1px solid var(--tcf-line);
  border-top: 1px solid var(--tcf-line);

  padding:
    clamp(76px, 8vw, 124px)
    0;

  position: relative;
}

.tc-site-footer__opening::before {
  background:
    linear-gradient(
      90deg,
      var(--tcf-green-900),
      var(--tcf-green-500),
      var(--tcf-green-300)
    );

  content: "";
  height: 7px;
  inset: 0 0 auto;
  position: absolute;
}

.tc-site-footer__opening::after {
  background-image:
    radial-gradient(
      circle,
      rgba(79, 129, 67, 0.1) 0 2px,
      transparent 2.5px
    );

  background-size: 24px 24px;
  content: "";

  height: 210px;
  opacity: 0.45;
  pointer-events: none;
  position: absolute;
  right: 4%;
  top: -40px;
  width: 270px;
}

.tc-site-footer__opening-grid {
  align-items: center;
  display: grid;
  gap: clamp(48px, 7vw, 116px);

  grid-template-columns:
    minmax(0, 1.25fr)
    minmax(350px, 0.75fr);

  position: relative;
  z-index: 1;
}

.tc-site-footer__eyebrow {
  align-items: center;
  color: var(--tcf-green-800);
  display: inline-flex;

  font-size: 14px !important;
  font-weight: 850;

  gap: 11px;
  letter-spacing: 0.125em;
  line-height: 1.42;

  margin: 0 0 23px !important;
  text-transform: uppercase;
}

.tc-site-footer__eyebrow::before {
  background: var(--tcf-green-500);
  border-radius: 50%;

  box-shadow:
    0 0 0 7px rgba(133, 184, 79, 0.15);

  content: "";
  flex: 0 0 10px;
  height: 10px;
  width: 10px;
}

.tc-site-footer__opening h2 {
  color: var(--tcf-ink);

  font-family:
    Montserrat,
    Inter,
    "Helvetica Neue",
    sans-serif;

  font-size: clamp(2.75rem, 4.8vw, 5.8rem);
  font-weight: 770;

  letter-spacing: -0.064em;
  line-height: 0.98;

  margin: 0 0 0.38em;
  max-width: 14ch;

  text-wrap: balance;
}

.tc-site-footer__opening-copy > p:last-child {
  color: var(--tcf-copy);

  font-size:
    clamp(
      1.13rem,
      0.9vw + 1rem,
      1.38rem
    );

  line-height: 1.68;
  max-width: 67ch;
}

.tc-site-footer__opening-actions {
  align-items: stretch;
  display: flex;
  flex-direction: column;
  gap: 14px;
}


/* =========================================================
   4. OPENING BUTTONS
========================================================= */

.tc-site-footer__button {
  align-items: center;

  border: 1px solid transparent;
  border-radius: var(--tcf-pill);

  display: inline-flex;

  font-size: 18px;
  font-weight: 810;

  gap: 12px;
  justify-content: center;
  line-height: 1.25;

  min-height: 64px;
  padding: 18px 30px;

  text-align: center;
  text-decoration: none !important;

  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.tc-site-footer__button svg {
  fill: none;
  height: 21px;

  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;

  transition: transform 180ms ease;
  width: 21px;
}

.tc-site-footer__button--primary {
  background: var(--tcf-green-800);

  box-shadow:
    0 16px 34px rgba(58, 107, 61, 0.21);

  color: var(--tcf-white) !important;
}

.tc-site-footer__button--primary:hover,
.tc-site-footer__button--primary:focus-visible {
  background: var(--tcf-green-950);

  box-shadow:
    0 22px 46px rgba(24, 54, 30, 0.26);

  color: var(--tcf-white) !important;
  transform: translateY(-2px);
}

.tc-site-footer__button--primary:hover svg,
.tc-site-footer__button--primary:focus-visible svg {
  transform: translateX(4px);
}

.tc-site-footer__button--secondary {
  background: rgba(255, 255, 255, 0.92);
  border-color: var(--tcf-line-strong);
  color: var(--tcf-ink) !important;
}

.tc-site-footer__button--secondary:hover,
.tc-site-footer__button--secondary:focus-visible {
  background: var(--tcf-green-100);
  border-color: rgba(79, 129, 67, 0.43);
  color: var(--tcf-green-950) !important;
  transform: translateY(-2px);
}


/* =========================================================
   5. MAIN FOOTER SURFACE
========================================================= */

.tc-site-footer__main {
  background:
    radial-gradient(
      circle at 5% 95%,
      rgba(133, 184, 79, 0.09),
      transparent 24%
    ),
    linear-gradient(
      180deg,
      var(--tcf-paper) 0%,
      var(--tcf-green-050) 100%
    );

  padding:
    clamp(88px, 9vw, 142px)
    0;

  position: relative;
}

.tc-site-footer__main::before {
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(79, 129, 67, 0.2),
      transparent
    );

  content: "";
  height: 1px;
  left: 10%;
  position: absolute;
  right: 10%;
  top: 0;
}


/* =========================================================
   6. DESKTOP GRID ARCHITECTURE
========================================================= */

.tc-site-footer__main-grid {
  align-items: start;
  display: grid;

  gap:
    clamp(34px, 4vw, 66px)
    clamp(34px, 4.2vw, 70px);

  grid-template-areas:
    "identity explore   participate feature"
    "identity instagram instagram   feature";

  grid-template-columns:
    minmax(310px, 1.16fr)
    minmax(180px, 0.68fr)
    minmax(215px, 0.78fr)
    minmax(300px, 0.96fr);

  grid-template-rows:
    auto
    minmax(185px, auto);
}

.tc-site-footer__identity {
  align-self: stretch;
  grid-area: identity;
}

.tc-site-footer__nav--explore {
  grid-area: explore;
}

.tc-site-footer__nav--participate {
  grid-area: participate;
}

.tc-site-footer__instagram-feed {
  align-self: end;
  grid-area: instagram;
}

.tc-site-footer__feature {
  align-self: stretch;
  grid-area: feature;
}


/* =========================================================
   7. ORGANIZATION IDENTITY PANEL
========================================================= */

.tc-site-footer__identity {
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(189, 219, 150, 0.23),
      transparent 39%
    ),
    radial-gradient(
      circle at 4% 100%,
      rgba(133, 184, 79, 0.14),
      transparent 30%
    ),
    linear-gradient(
      145deg,
      var(--tcf-green-950),
      var(--tcf-green-850)
    );

  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--tcf-radius-xl);

  box-shadow:
    0 30px 68px rgba(24, 54, 30, 0.17),
    0 8px 22px rgba(24, 54, 30, 0.07);

  color: rgba(255, 255, 255, 0.86);

  display: flex;
  flex-direction: column;

  min-height: 100%;
  overflow: hidden;

  padding:
    clamp(36px, 4vw, 56px);

  position: relative;
}

.tc-site-footer__identity::after {
  border:
    1px solid
    rgba(255, 255, 255, 0.08);

  border-radius: 50%;
  content: "";

  height: 260px;
  pointer-events: none;
  position: absolute;
  right: -150px;
  top: 42%;
  width: 260px;
}

.tc-site-footer__logo-link {
  display: inline-block;
  margin-bottom: 28px;
  position: relative;
  width: fit-content;
  z-index: 1;
}

.tc-site-footer__logo {
  height: auto;
  max-height: 105px;
  object-fit: contain;
  object-position: left center;
  width: auto;
}

.tc-site-footer__brand-title {
  color: var(--tcf-white);

  font-family:
    Montserrat,
    Inter,
    sans-serif;

  font-size:
    clamp(
      1.55rem,
      1.8vw,
      2.15rem
    );

  font-weight: 750;
  letter-spacing: -0.042em;
  line-height: 1.08;

  margin: 0 0 21px;
  max-width: 14ch;

  position: relative;
  z-index: 1;
}

.tc-site-footer__identity > p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 17px;
  max-width: 43ch;

  position: relative;
  z-index: 1;
}

.tc-site-footer__identity-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;

  margin-top: 28px;
  position: relative;
  z-index: 1;
}

.tc-site-footer__identity-tags span {
  background:
    rgba(255, 255, 255, 0.1);

  border:
    1px solid
    rgba(255, 255, 255, 0.16);

  border-radius: var(--tcf-pill);

  color:
    rgba(255, 255, 255, 0.93);

  font-size: 13px;
  font-weight: 740;
  line-height: 1.35;

  padding: 8px 12px;
}

.tc-site-footer__identity-link {
  align-items: center;
  color: var(--tcf-white) !important;
  display: inline-flex;

  font-size: 17px;
  font-weight: 800;

  gap: 9px;
  margin-top: auto;
  padding-top: 32px;

  position: relative;
  text-decoration: none !important;
  width: fit-content;
  z-index: 1;
}

.tc-site-footer__identity-link span {
  color: var(--tcf-green-300);
  transition: transform 180ms ease;
}

.tc-site-footer__identity-link:hover,
.tc-site-footer__identity-link:focus-visible {
  text-decoration: underline !important;
}

.tc-site-footer__identity-link:hover span,
.tc-site-footer__identity-link:focus-visible span {
  transform: translateX(4px);
}


/* =========================================================
   8. NAVIGATION COLUMNS
========================================================= */

.tc-site-footer__nav {
  min-width: 0;
  padding-top: 12px;
}

.tc-site-footer__nav h3 {
  color: var(--tcf-ink);

  font-family:
    Montserrat,
    Inter,
    sans-serif;

  font-size: 1.16rem;
  font-weight: 790;

  letter-spacing: -0.026em;
  line-height: 1.22;

  margin: 0 0 26px;
}

.tc-site-footer__nav h3::after {
  background:
    linear-gradient(
      90deg,
      var(--tcf-green-600),
      var(--tcf-green-300)
    );

  border-radius: var(--tcf-pill);
  content: "";
  display: block;

  height: 4px;
  margin-top: 13px;
  width: 38px;
}

.tc-site-footer__nav ul,
.tc-site-footer__utility ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.tc-site-footer__nav ul {
  display: grid;
  gap: 15px;
}

.tc-site-footer__nav a {
  align-items: flex-start;
  color: var(--tcf-copy) !important;
  display: inline-flex;

  font-size: 17px;
  font-weight: 650;
  line-height: 1.46;

  position: relative;
  text-decoration: none !important;

  transition:
    color 160ms ease,
    transform 160ms ease;
}

.tc-site-footer__nav a::before {
  background: var(--tcf-green-500);
  border-radius: 50%;

  content: "";
  flex: 0 0 6px;

  height: 6px;
  margin-right: 10px;
  margin-top: 0.58em;

  opacity: 0;
  transform: scale(0);

  transition:
    opacity 160ms ease,
    transform 160ms ease;

  width: 6px;
}

.tc-site-footer__nav a:hover,
.tc-site-footer__nav a:focus-visible {
  color: var(--tcf-green-900) !important;
  transform: translateX(4px);
}

.tc-site-footer__nav a:hover::before,
.tc-site-footer__nav a:focus-visible::before {
  opacity: 1;
  transform: scale(1);
}


/* =========================================================
   9. EMBEDDED ELFSIGHT INSTAGRAM FEED
========================================================= */

.tc-site-footer__instagram-feed {
  border-top: 1px solid var(--tcf-line);
  min-width: 0;
  overflow: hidden;

  padding-top:
    clamp(
      23px,
      2.4vw,
      34px
    );

  position: relative;
  width: 100%;
}

.tc-site-footer__instagram-feed::before {
  background:
    linear-gradient(
      90deg,
      var(--tcf-green-800),
      var(--tcf-green-500),
      transparent
    );

  border-radius: var(--tcf-pill);
  content: "";

  height: 4px;
  left: 0;
  position: absolute;
  top: -2px;
  width: 72px;
}

.tc-site-footer__instagram-feed
.elfsight-app-7611849d-6135-4fbc-a378-ec0544df533f {
  display: block;
  min-height: 195px;
  min-width: 0;
  width: 100% !important;
}

.tc-site-footer__instagram-feed > div {
  max-width: 100% !important;
  min-width: 0 !important;
  width: 100% !important;
}

.tc-site-footer__instagram-feed iframe {
  border: 0 !important;
  display: block;

  max-width: 100% !important;
  min-width: 100% !important;
  width: 100% !important;
}


/*
   Prevent the widget from adding a second visual panel
   around itself. The feed's own posts remain untouched.
*/

.tc-site-footer__instagram-feed {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}


/* =========================================================
   10. FEATURED EVENT CARD
========================================================= */

.tc-site-footer__feature {
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(133, 184, 79, 0.13),
      transparent 38%
    ),
    linear-gradient(
      145deg,
      #ffffff,
      var(--tcf-green-050)
    );

  border: 1px solid var(--tcf-line);
  border-radius: var(--tcf-radius-lg);

  box-shadow: var(--tcf-shadow-md);

  display: flex;
  flex-direction: column;

  min-height: 100%;
  overflow: hidden;

  padding:
    clamp(31px, 3vw, 44px);

  position: relative;
}

.tc-site-footer__feature::before {
  background:
    linear-gradient(
      90deg,
      var(--tcf-green-900),
      var(--tcf-green-500),
      var(--tcf-green-300)
    );

  content: "";
  height: 6px;
  inset: 0 0 auto;
  position: absolute;
}

.tc-site-footer__feature-label {
  color: var(--tcf-green-700);

  font-size: 13px !important;
  font-weight: 850;

  letter-spacing: 0.13em;
  line-height: 1.45;

  margin-bottom: 17px !important;
  text-transform: uppercase;
}

.tc-site-footer__feature h3 {
  color: var(--tcf-ink);

  font-family:
    Montserrat,
    Inter,
    sans-serif;

  font-size:
    clamp(
      2rem,
      2.35vw,
      2.8rem
    );

  font-weight: 775;
  letter-spacing: -0.054em;
  line-height: 1;

  margin: 0 0 15px;
  max-width: 10ch;
}

.tc-site-footer__feature-deck {
  color: var(--tcf-green-800);

  font-size: 17px !important;
  font-weight: 710;
  line-height: 1.52;
}

.tc-site-footer__feature-facts {
  border-bottom: 1px solid var(--tcf-line);
  border-top: 1px solid var(--tcf-line);

  display: grid;
  gap: 15px;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  margin: 26px 0;
  padding: 21px 0;
}

.tc-site-footer__feature-facts div {
  min-width: 0;
}

.tc-site-footer__feature-facts dt {
  color: var(--tcf-green-700);

  font-size: 12px;
  font-weight: 850;

  letter-spacing: 0.12em;
  line-height: 1.35;

  margin-bottom: 5px;
  text-transform: uppercase;
}

.tc-site-footer__feature-facts dd {
  color: var(--tcf-ink);

  font-size: 16px;
  font-weight: 730;
  line-height: 1.42;

  margin: 0;
}

.tc-site-footer__feature-link {
  align-items: center;

  background: var(--tcf-green-800);
  border-radius: var(--tcf-pill);

  box-shadow:
    0 14px 29px rgba(58, 107, 61, 0.19);

  color: var(--tcf-white) !important;
  display: inline-flex;

  font-size: 16px;
  font-weight: 810;

  gap: 9px;
  justify-content: center;

  margin-top: auto;
  min-height: 54px;
  padding: 14px 20px;

  text-decoration: none !important;

  transition:
    background-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.tc-site-footer__feature-link span {
  transition: transform 180ms ease;
}

.tc-site-footer__feature-link:hover,
.tc-site-footer__feature-link:focus-visible {
  background: var(--tcf-green-950);

  box-shadow:
    0 19px 39px rgba(24, 54, 30, 0.24);

  transform: translateY(-2px);
}

.tc-site-footer__feature-link:hover span,
.tc-site-footer__feature-link:focus-visible span {
  transform: translate(3px, -3px);
}

.tc-site-footer__feature-secondary-link {
  color: var(--tcf-green-800) !important;
  display: block;

  font-size: 15px;
  font-weight: 770;

  margin-top: 18px;
  text-decoration: none !important;
}

.tc-site-footer__feature-secondary-link:hover,
.tc-site-footer__feature-secondary-link:focus-visible {
  color: var(--tcf-green-950) !important;
  text-decoration: underline !important;
}


/* =========================================================
   11. LOWER UTILITY BAR
========================================================= */

.tc-site-footer__lower {
  background: var(--tcf-white);
  border-top: 1px solid var(--tcf-line);
  padding: 29px 0;
}

.tc-site-footer__lower-grid {
  align-items: center;
  display: flex;
  gap: 26px;
  justify-content: space-between;
}

.tc-site-footer__copyright {
  color: var(--tcf-muted);
  font-size: 15px !important;
  font-weight: 660;
}

.tc-site-footer__utility ul {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 0;
}

.tc-site-footer__utility li {
  align-items: center;
  display: inline-flex;
}

.tc-site-footer__utility li:not(:last-child)::after {
  background: var(--tcf-green-300);
  border-radius: 50%;
  content: "";

  height: 5px;
  margin: 0 16px;
  width: 5px;
}

.tc-site-footer__utility a {
  color: var(--tcf-copy) !important;

  font-size: 15px;
  font-weight: 710;

  text-decoration: none !important;
}

.tc-site-footer__utility a:hover,
.tc-site-footer__utility a:focus-visible {
  color: var(--tcf-green-900) !important;
  text-decoration: underline !important;
}


/* =========================================================
   12. LARGE DESKTOP
========================================================= */

@media (min-width: 1800px) {

  .tc-site-footer {
    --tcf-content: 1620px;
  }

  .tc-site-footer__main-grid {
    grid-template-columns:
      minmax(330px, 1.18fr)
      minmax(190px, 0.68fr)
      minmax(225px, 0.78fr)
      minmax(320px, 0.96fr);
  }
}


/* =========================================================
   13. LAPTOP
========================================================= */

@media (max-width: 1250px) {

  .tc-site-footer__main-grid {
    grid-template-areas:
      "identity feature"
      "explore participate"
      "instagram instagram";

    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    grid-template-rows: auto;
  }

  .tc-site-footer__identity,
  .tc-site-footer__feature {
    min-height: 0;
  }

  .tc-site-footer__instagram-feed {
    margin-top: 6px;
  }
}


/* =========================================================
   14. TABLET
========================================================= */

@media (max-width: 920px) {

  .tc-site-footer__opening-grid {
    grid-template-columns: 1fr;
  }

  .tc-site-footer__opening-actions {
    max-width: 540px;
  }

  .tc-site-footer__main-grid {
    gap: 54px 44px;

    grid-template-areas:
      "identity identity"
      "explore participate"
      "instagram instagram"
      "feature feature";

    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .tc-site-footer__identity {
    min-height: 0;
  }

  .tc-site-footer__identity-link {
    margin-top: 28px;
    padding-top: 0;
  }

  .tc-site-footer__feature {
    max-width: none;
  }

  .tc-site-footer__instagram-feed
  .elfsight-app-7611849d-6135-4fbc-a378-ec0544df533f {
    min-height: 230px;
  }
}


/* =========================================================
   15. MOBILE
========================================================= */

@media (max-width: 680px) {

  .tc-site-footer {
    --tcf-gutter: 21px;
  }

  .tc-site-footer p,
  .tc-site-footer li,
  .tc-site-footer dd {
    font-size: 18px;
  }


  /* Opening */

  .tc-site-footer__opening {
    padding: 78px 0;
  }

  .tc-site-footer__opening::after {
    opacity: 0.2;
    right: -110px;
  }

  .tc-site-footer__opening h2 {
    font-size:
      clamp(
        2.55rem,
        12vw,
        3.85rem
      );

    max-width: 13ch;
  }

  .tc-site-footer__button {
    width: 100%;
  }


  /* Main grid */

  .tc-site-footer__main {
    padding: 82px 0;
  }

  .tc-site-footer__main-grid {
    gap: 52px;

    grid-template-areas:
      "identity"
      "explore"
      "participate"
      "instagram"
      "feature";

    grid-template-columns: 1fr;
  }


  /* Identity */

  .tc-site-footer__identity {
    border-radius: 28px;
    padding: 38px 26px;
  }

  .tc-site-footer__logo {
    max-height: 90px;
  }

  .tc-site-footer__brand-title {
    font-size: 1.65rem;
  }


  /* Navigation */

  .tc-site-footer__nav {
    border-top: 1px solid var(--tcf-line);
    padding-top: 34px;
  }

  .tc-site-footer__nav h3 {
    font-size: 1.25rem;
  }


  /* Instagram */

  .tc-site-footer__instagram-feed {
    border-top: 1px solid var(--tcf-line);
    padding-top: 35px;
  }

  .tc-site-footer__instagram-feed
  .elfsight-app-7611849d-6135-4fbc-a378-ec0544df533f {
    min-height: 260px;
  }


  /* Event */

  .tc-site-footer__feature {
    border-radius: 27px;
    padding: 38px 26px;
  }

  .tc-site-footer__feature-facts {
    grid-template-columns: 1fr;
  }

  .tc-site-footer__feature-link {
    width: 100%;
  }


  /* Utility */

  .tc-site-footer__lower {
    padding: 31px 0;
  }

  .tc-site-footer__lower-grid {
    align-items: flex-start;
    flex-direction: column;
  }

  .tc-site-footer__utility ul {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  .tc-site-footer__utility li:not(:last-child)::after {
    display: none;
  }
}


/* =========================================================
   16. SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

  .tc-site-footer {
    --tcf-gutter: 18px;
  }

  .tc-site-footer__opening h2 {
    font-size:
      clamp(
        2.35rem,
        12.5vw,
        3.35rem
      );
  }

  .tc-site-footer__identity,
  .tc-site-footer__feature {
    padding-left: 23px;
    padding-right: 23px;
  }

  .tc-site-footer__identity-tags span {
    width: 100%;
  }
}


/* =========================================================
   17. HOVER ENHANCEMENTS
========================================================= */

@media (hover: hover) and (pointer: fine) {

  .tc-site-footer__identity,
  .tc-site-footer__feature {
    transition:
      border-color 220ms ease,
      box-shadow 220ms ease,
      transform 220ms ease;
  }

  .tc-site-footer__identity:hover {
    box-shadow:
      0 38px 82px rgba(24, 54, 30, 0.2),
      0 11px 28px rgba(24, 54, 30, 0.08);

    transform: translateY(-5px);
  }

  .tc-site-footer__feature:hover {
    border-color:
      rgba(79, 129, 67, 0.32);

    box-shadow: var(--tcf-shadow-lg);
    transform: translateY(-5px);
  }
}


/* =========================================================
   18. REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .tc-site-footer *,
  .tc-site-footer *::before,
  .tc-site-footer *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }

  .tc-site-footer__button:hover,
  .tc-site-footer__nav a:hover,
  .tc-site-footer__identity:hover,
  .tc-site-footer__feature:hover,
  .tc-site-footer__feature-link:hover {
    transform: none !important;
  }
}


/* =========================================================
   19. HIGH CONTRAST
========================================================= */

@media (prefers-contrast: more) {

  .tc-site-footer {
    --tcf-copy: #202b23;
    --tcf-muted: #39463d;
    --tcf-line: rgba(17, 26, 20, 0.43);
  }

  .tc-site-footer__identity,
  .tc-site-footer__feature,
  .tc-site-footer__button--secondary {
    border-width: 2px;
  }
}


/* =========================================================
   20. PRINT
========================================================= */

@media print {

  .tc-site-footer {
    background: #ffffff !important;
    color: #000000 !important;

    left: auto;
    margin: 0;
    right: auto;
    width: auto;
  }

  .tc-site-footer__opening,
  .tc-site-footer__main,
  .tc-site-footer__lower,
  .tc-site-footer__identity,
  .tc-site-footer__feature {
    background: #ffffff !important;
    box-shadow: none !important;
    color: #000000 !important;
  }

  .tc-site-footer h2,
  .tc-site-footer h3,
  .tc-site-footer p,
  .tc-site-footer a,
  .tc-site-footer span,
  .tc-site-footer dt,
  .tc-site-footer dd {
    color: #000000 !important;
  }

  .tc-site-footer__instagram-feed {
    display: none;
  }

  .tc-site-footer__main-grid {
    display: block;
  }

  .tc-site-footer__identity,
  .tc-site-footer__nav,
  .tc-site-footer__feature {
    margin-bottom: 30px;
  }
}/* End custom CSS */