@scope (.page-site) {
/* =====================================================
   GOHEMP — PREMIUM FOOTER
===================================================== */

.site-footer {
  background:
    radial-gradient(circle at 15% 20%, rgba(179, 138, 90, 0.045), transparent 28%),
    #101512;
  color: rgba(255, 255, 255, 0.72);
  padding: 0 5vw;
  font-family: "Manrope", sans-serif;
}

.footer-main {
  margin: 0 auto;
  padding: 50px 0;

  display: grid;
  grid-template-columns:
    minmax(230px, 1.3fr)
    minmax(160px, 0.9fr)
    minmax(210px, 1.05fr)
    minmax(150px, 0.75fr)
    minmax(230px, 1.15fr);

  gap: clamp(35px, 4vw, 75px);
}


/* ================= BRAND ================= */

.footer-brand {
  padding-right: 25px;
}

.footer-logo {
  display: inline-block;
  height: 110px;
}

.footer-logo img {
  width: 145px;
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  margin-left: -35px;
}

.footer-accent-line {
  width: 30px;
  height: 2px;
  margin: 50px 0 28px;
  background: #b38a5a;
}

.footer-brand-text {
  max-width: 250px;
  margin: 0;

  color: rgba(255, 255, 255, 0.67);
  font-size: 14px;
  line-height: 1.85;
  font-weight: 400;
}

.footer-contact {
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.footer-contact a {
  display: flex;
  align-items: center;
  gap: 12px;

  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  font-size: 13px;

  transition: color 0.25s ease;
}

.footer-contact a:hover {
  color: #b38a5a;
}

.contact-icon {
  color: #b38a5a;
  font-size: 16px;
}


/* ================= COLUMN TITLES ================= */

.footer-column-title {
  margin: 0;

  color: #b98b56;
  font-family: "DM Mono", monospace;
  font-size: 11px;
  font-weight: 500;

  text-transform: uppercase;
  letter-spacing: 0.18em;
}

.footer-title-line {
  display: block;
  width: 27px;
  height: 2px;

  background: #b98b56;

  margin: 17px 0 24px;
}


/* ================= LINKS ================= */

.footer-column {
  display: flex;
  flex-direction: column;
}

.footer-column > a {
  min-height: 48px;

  display: flex;
  justify-content: space-between;
  align-items: center;
  /* gap: 15px; */

  border-bottom: 1px solid rgba(255, 255, 255, 0.08);

  color: rgba(255, 255, 255, 0.74);
  text-decoration: none;

  font-size: 13px;
  /* line-height: 1.4; */

  transition:
    color 0.25s ease,
    padding-left 0.25s ease,
    border-color 0.25s ease;
}

.footer-column > a:hover {
  color: #c7955b;
  padding-left: 4px;
  border-color: rgba(179, 138, 90, 0.35);
}

.link-arrow,
.external-arrow {
  color: rgba(255, 255, 255, 0.5);
  font-size: 14px;

  transition:
    color 0.25s ease,
    transform 0.25s ease;
}

.footer-column > a:hover .link-arrow {
  color: #c7955b;
  transform: translateX(4px);
}

.footer-column > a:hover .external-arrow {
  color: #c7955b;
  transform: translate(2px, -2px);
}


/* ================= STAY INSPIRED ================= */

.footer-inspire {
  width: 400px;
  padding-left: clamp(25px, 3vw, 50px);
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.inspire-desc {
  max-width: 270px;
  color: rgba(255, 255, 255, 0.65);
  font-size: 14px;
  line-height: 1.85;
}


/* ================= SOCIAL ICONS ================= */

.social-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.social-icons a {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 50%;
  color: rgba(255, 255, 255, 0.72);
  text-decoration: none;
  font-size: 18px;
  font-weight: 500;

  transition:
    background 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease;
}

.social-icons a:hover {
  background: #b38a5a;
  border-color: #b38a5a;
  color: #101512;

  transform: translateY(-3px);
}


/* ================= FOOTER BOTTOM ================= */

.footer-bottom {
  max-width: 1500px;
  margin: 0 auto;

  min-height: 86px;

  border-top: 1px solid rgba(255, 255, 255, 0.14);

  display: flex;
  align-items: center;

  gap: 28px;

  color: rgba(255, 255, 255, 0.47);

  font-size: 10px;
  line-height: 1.5;
}

.footer-copyright {
  white-space: nowrap;
}

.footer-legal {
  display: flex;
  align-items: center;
}

.footer-legal > * {
  padding: 0 18px;
  border-left: 1px solid rgba(255, 255, 255, 0.13);
}

.footer-legal a {
  color: inherit;
  text-decoration: none;
  transition: color 0.25s ease;
}

.footer-legal a:hover {
  color: #b38a5a;
}


/* ================= TAGLINE ================= */

.footer-tagline {
  margin-left: auto;

  display: flex;
  align-items: center;
  gap: 11px;

  color: rgba(255, 255, 255, 0.48);

  font-family: "DM Mono", monospace;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.14em;

  white-space: nowrap;
}

.tagline-leaf {
  color: #b38a5a;
  font-size: 17px;
}


/* ================= BACK TO TOP ================= */

.footer-top {
  /* margin-left: 12px; */

  color: rgba(255, 255, 255, 0.55);
  text-decoration: none;

  white-space: nowrap;

  transition: color 0.25s ease;
}

.footer-top:hover {
  color: #b38a5a;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1180px) {

  .footer-main {
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 60px 45px;
  }

  .footer-inspire {
    border-left: 0;
    padding-left: 0;
  }

  .footer-bottom {
    flex-wrap: wrap;
    padding: 25px 0;
    gap: 18px 25px;
  }

  .footer-tagline {
    margin-left: 0;
  }
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 700px) {

  .site-footer {
    padding: 0 24px;
  }

  .footer-main {
    padding: 65px 0 45px;

    grid-template-columns: 1fr;
    gap: 50px;
  }

  .footer-brand {
    padding-right: 0;
   
  }

  .footer-brand-text {
    max-width: 320px;
  }

  .footer-column > a {
    min-height: 50px;
    font-size: 14px;
  }

  .footer-inspire {
    padding-top: 5px;
  }

  .footer-bottom {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    padding: 30px 0 38px;
    gap: 18px;
  }

  .footer-copyright {
    white-space: normal;
  }

  .footer-legal {
    flex-wrap: wrap;
    gap: 12px 20px;
  }

  .footer-legal > * {
    border-left: 0;
    padding: 0;
  }

  .footer-tagline {
    white-space: normal;
    margin: 5px 0;
  }

  .footer-top {
    margin-left: 0;
  }
}
@media (max-width: 900px) {
  html,
  body {
    overflow-x: hidden !important;
  }
}

.favicon-logo {
  width: 70px;
  height: 70px;
  object-fit: contain !important;
  object-position: center;
  display: block;
}

/* =====================================================
   2026 UX / ACCESSIBILITY / MULTIPAGE UPGRADE
===================================================== */
:scope {
  --ink: #172019;
  --forest: #173126;
  --moss: #3f5d49;
  --paper: #f3f0e7;
  --paper-deep: #e6dfd1;
  --clay: #b67642;
  --line: rgba(23, 32, 25, 0.18);
  --focus: #d18a42;
  --content: 1280px;
}
html { scroll-behavior: smooth; }
:scope { color: var(--ink); font-size: 17px; line-height: 1.65; text-rendering: optimizeLegibility; }
p, li, input, textarea, select, button { font-size: inherit; }
.body-copy, .intro, .lead, .conversation-support, .footer-brand-text, .inspire-desc, .page-copy { font-size: clamp(1rem, .95rem + .2vw, 1.125rem) !important; line-height: 1.75 !important; }
h1, h2, h3, .display { color: var(--ink); font-weight: 500 !important; letter-spacing: -0.025em; text-wrap: balance; }
.hero h1 { color: #fff; text-shadow: 0 2px 24px rgba(0,0,0,.28); }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [role="button"]:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
.skip-link { z-index: 10000; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.brand { display: inline-flex; align-items: center; gap: 10px; min-width: 0; text-decoration: none; color: #fff; }

.brand-word { font: 600 15px/1 Manrope, sans-serif; letter-spacing: .16em; color: currentColor; }
.site-header:not(.at-top), .page-site .site-header { background: rgba(18, 30, 23, .96); backdrop-filter: blur(14px); }
.site-header { transition: background .25s ease, box-shadow .25s ease; }
.site-header:not(.at-top) { box-shadow: 0 1px 0 rgba(255,255,255,.1); }
.desktop-nav a[aria-current="page"] { color: #e3b075; }

.lightbox-trigger { cursor: zoom-in; }
.lightbox { width: 100vw; max-width: none; height: 100dvh; max-height: none; padding: 0; border: 0; background: rgba(9, 12, 10, .96); color: #fff; }
.lightbox::backdrop { background: rgba(9, 12, 10, .96); }
.lightbox__frame { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr) 64px; align-items: center; width: 100%; height: 100%; padding: 64px 24px 26px; }
.lightbox figure { display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: 12px; width: 100%; height: 100%; min-width: 0; margin: 0; }
.lightbox figure img { width: 100%; height: 100%; max-height: calc(100dvh - 122px); object-fit: contain !important; background: transparent; }
.lightbox figcaption { max-width: 900px; margin: 0 auto; color: rgba(255,255,255,.78); font-size: 14px; text-align: center; }
.lightbox button { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.32); border-radius: 50%; background: rgba(0,0,0,.28); color: #fff; cursor: pointer; }
.lightbox__close { position: absolute; top: 16px; right: 20px; z-index: 2; font-size: 30px; }
.lightbox__nav { justify-self: center; font-size: 22px; }
.lightbox__count { position: absolute; left: 24px; bottom: 20px; font: 12px/1 "DM Mono", monospace; letter-spacing: .12em; }

.back-to-top { position: fixed; right: 22px; bottom: 92px; z-index: 70; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.32); border-radius: 50%; background: #1d3529; color: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.2); opacity: 0; visibility: hidden; transform: translateY(12px); transition: .25s ease; cursor: pointer; }
.back-to-top.is-visible { opacity: 1; visibility: visible; transform: none; }

.form-success, .download-status { min-height: 1.5em; margin-top: 12px; font-weight: 600; }
.is-success { color: #d6f1cc !important; }
.is-error { color: #ffd1c8 !important; }
.submit-button:disabled, .download-submit:disabled { opacity: .58; cursor: wait; }
.conversation-form textarea { min-height: 150px; resize: vertical; }
.conversation-form select { width: 100%; min-height: 52px; border: 0; border-bottom: 1px solid rgba(255,255,255,.42); border-radius: 0; background: transparent; color: #fff; }
.conversation-form select option { color: var(--ink); }
.form-consent { display: flex; align-items: flex-start; gap: 10px; margin: 22px 0 0; color: rgba(255,255,255,.8); font-size: 13px; }
.form-consent input { width: 18px; height: 18px; margin-top: 3px; }
.form-consent a { color: #fff; }
.download-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.download-fields label { display: grid; gap: 7px; }
.download-fields input { width: 100%; }
.download-dialog { max-width: min(680px, calc(100vw - 32px)); }
.download-form > p { font-size: 15px; }
.email-confirmation a { color: inherit; font-weight: 700; }

/* Shared multipage system */
.page-site { background: var(--paper); }
.page-site main { overflow: clip; }
.page-hero { position: relative; min-height: 76svh; display: grid; align-items: end; background: #14271e; color: #fff; }
.page-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .58; }
.page-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,15,11,.14), rgba(8,15,11,.78)); }
.page-hero__content { position: relative; z-index: 1; width: min(var(--content), calc(100% - 48px)); margin: 0 auto; padding: 180px 0 84px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 28px; font: 11px/1.5 "DM Mono", monospace; letter-spacing: .12em; text-transform: uppercase; }
.breadcrumbs a { color: inherit; text-decoration: none; opacity: .8; }
.page-hero h1 { max-width: 900px; margin: 0 0 24px; color: #fff; font-family: Newsreader, serif; font-size: clamp(3.6rem, 8vw, 8rem); line-height: .9; }
.page-hero__intro { max-width: 720px; margin: 0; color: rgba(255,255,255,.88); font-size: clamp(1.1rem, 1rem + .5vw, 1.45rem); }
.page-section { width: min(var(--content), calc(100% - 48px)); margin: 0 auto; padding: clamp(72px, 9vw, 140px) 0; }
.page-section--tight { padding-top: 48px; padding-bottom: 48px; }
.page-kicker { margin: 0 0 18px; color: var(--clay); font: 500 11px/1.5 "DM Mono", monospace; letter-spacing: .14em; text-transform: uppercase; }
.page-title { max-width: 920px; margin: 0 0 34px; font-family: Newsreader, serif; font-size: clamp(2.7rem, 6vw, 6rem); line-height: .98; }
.page-copy { max-width: 760px; }
.page-copy p { margin: 0 0 1.4em; }
.page-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; }
.page-grid > .page-copy { grid-column: 2 / span 5; }
.page-grid > .page-media { grid-column: 8 / -1; }
.page-media { margin: 0; }
.page-media img { width: 100%; height: auto; max-height: 760px; object-fit: contain; }
.page-media figcaption { margin-top: 10px; font: 11px/1.5 "DM Mono", monospace; letter-spacing: .08em; color: #5e645f; }
.route-cards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.route-card { display: flex; flex-direction: column; min-height: 100%; background: #fff; color: var(--ink); text-decoration: none; border: 1px solid var(--line); transition: transform .25s ease, box-shadow .25s ease; }
.route-card:hover { transform: translateY(-5px); box-shadow: 0 18px 45px rgba(38,43,37,.13); }
.route-card img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.route-card__copy { padding: 24px; }
.route-card__copy span { color: var(--clay); font: 10px/1.5 "DM Mono", monospace; letter-spacing: .12em; text-transform: uppercase; }
.route-card h2, .route-card h3 { margin: 10px 0 8px; font-family: Newsreader, serif; font-size: clamp(1.65rem, 2.8vw, 2.5rem); line-height: 1; }
.route-card p { margin: 0; color: #575e58; }
.fact-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.fact-grid div { padding: 28px 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.fact-grid dt { font-family: Newsreader, serif; font-size: clamp(2rem, 4vw, 4rem); line-height: 1; }
.fact-grid dd { margin: 10px 0 0; color: #5d645f; font-size: 14px; }
.project-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.project-gallery figure { margin: 0; background: #ddd6c7; }
.project-gallery img { width: 100%; height: 100%; max-height: 760px; object-fit: contain; }
.project-gallery figure:first-child { grid-column: 1 / -1; }
.project-gallery figcaption { padding: 10px 0; font: 11px/1.5 "DM Mono", monospace; letter-spacing: .08em; }
.process-list { counter-reset: process; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.process-list article { counter-increment: process; padding: 30px; background: var(--paper); }
.process-list article::before { content: counter(process, decimal-leading-zero); display: block; margin-bottom: 44px; color: var(--clay); font: 11px/1 "DM Mono", monospace; }
.process-list h3 { font-family: Newsreader, serif; font-size: 2rem; }
.page-cta { background: var(--forest); color: #fff; }
.page-cta .page-section { display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: end; }
.page-cta h2 { max-width: 850px; margin: 0; color: #fff; font-family: Newsreader, serif; font-size: clamp(2.8rem, 6vw, 6.5rem); line-height: .95; }
.page-cta a { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 24px; border: 1px solid rgba(255,255,255,.55); color: #fff; text-decoration: none; }

.upgrade-footer { padding: 72px 24px 28px; background: #101d17; color: #fff; }
.upgrade-footer__grid { width: min(var(--content), 100%); margin: auto; display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 44px; }
.upgrade-footer__brand { max-width: 390px; }
.upgrade-footer__brand .brand { margin-bottom: 22px; }
.upgrade-footer h2 { margin: 0 0 18px; color: #fff; font: 500 11px/1.4 "DM Mono", monospace; letter-spacing: .13em; text-transform: uppercase; }
.upgrade-footer p { color: rgba(255,255,255,.66); }
.upgrade-footer nav { display: grid; align-content: start; gap: 10px; }
.upgrade-footer nav a { color: rgba(255,255,255,.76); text-decoration: none; font-size: 15px; }
.upgrade-footer nav a:hover { color: #e4b075; }
.social-links { display: flex !important; flex-wrap: wrap; gap: 10px !important; }
.social-links a { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; }
.social-links svg { width: 19px; height: 19px; fill: currentColor; }
.upgrade-footer__bottom { width: min(var(--content), 100%); margin: 54px auto 0; padding-top: 22px; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.55); font-size: 12px; }
.upgrade-footer__bottom a { color: inherit; }

.privacy-copy { max-width: 850px; }
.privacy-copy h2 { margin: 2.2em 0 .5em; font-family: Newsreader, serif; font-size: 2.3rem; }
.privacy-copy h3 { margin: 1.7em 0 .4em; }
.privacy-copy li { margin-bottom: .55em; }

@media (max-width: 980px) {
  .desktop-nav { display: none; }
  .route-cards { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .page-grid > .page-copy { grid-column: 1 / span 6; }
  .page-grid > .page-media { grid-column: 7 / -1; }
  .fact-grid { grid-template-columns: repeat(2,1fr); }
  .process-list { grid-template-columns: 1fr 1fr; }
  .upgrade-footer__grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .upgrade-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  body { font-size: 16px; }
  .site-header { padding-left: 20px; padding-right: 20px; }
  .brand-word { font-size: 13px; }
  .page-hero { min-height: 68svh; }
  .page-hero__content, .page-section { width: min(100% - 32px, var(--content)); }
  .page-hero__content { padding-bottom: 54px; }
  .page-grid { display: block; }
  .page-grid > * + * { margin-top: 38px; }
  .route-cards, .project-gallery, .process-list { grid-template-columns: 1fr; }
  .project-gallery figure:first-child { grid-column: auto; }
  .fact-grid { grid-template-columns: 1fr 1fr; }
  .page-cta .page-section { grid-template-columns: 1fr; align-items: start; }
  .upgrade-footer__grid { grid-template-columns: 1fr 1fr; }
  .upgrade-footer__brand { grid-column: 1 / -1; }
  .upgrade-footer__bottom { flex-direction: column; }
  .download-fields { grid-template-columns: 1fr; }
  .lightbox__frame { grid-template-columns: 46px minmax(0,1fr) 46px; padding: 66px 4px 48px; }
  .lightbox button { width: 40px; height: 40px; }
  .lightbox__close { right: 12px; }
  .lightbox__count { left: 12px; }
  .back-to-top { right: 16px; bottom: 82px; }
}
@media (max-width: 440px) {
  .route-cards, .upgrade-footer__grid { grid-template-columns: 1fr; }
  .fact-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

:scope{--refinement-2026:1;--natural-sage:#dfe5d4;--natural-sage-strong:#d5ddbb;--natural-ink:#26322b;--natural-forest:#526b57}
.hero h1{font-size:clamp(3.45rem,7.4vw,7.25rem)}.page-hero h1{font-size:clamp(3.1rem,6.4vw,6rem)}.page-title{font-size:clamp(2.7rem,5vw,4.8rem)}.page-cta h2{font-size:clamp(2.6rem,5.2vw,4.9rem)}
.image-lightbox-link{display:block;min-width:0;overflow:hidden;color:inherit;background:#e9e5da;cursor:zoom-in}.image-lightbox-link img{display:block;width:100%;height:100%}.image-lightbox-link:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.field-gallery{background:var(--natural-sage);color:var(--natural-ink)}.field-gallery .eyebrow,.field-gallery h2,.field-gallery h2 em,.field-gallery p,.field-gallery .caption{color:var(--natural-ink)}.field-gallery h2 em{color:var(--natural-forest)}
.contact,.contact.conversation{background:#eee9df;color:var(--natural-ink)}.contact .eyebrow,.contact h2,.contact h2 em,.contact .step-number,.contact .step-heading,.contact .contact-email,.contact .contact-whatsapp,.contact.conversation .eyebrow,.contact.conversation h2,.contact.conversation h2 em,.contact.conversation .step-number,.contact.conversation .step-heading{color:var(--natural-ink)}.contact h2 em,.contact.conversation h2 em{color:var(--natural-forest)}.contact p,.contact.conversation p,.contact.conversation .field span,.contact.conversation label{color:#536057}.contact .conversation-step,.contact.conversation .conversation-step{border-color:rgba(38,50,43,.2)}
.contact input,.contact select,.contact textarea,.contact.conversation input,.contact.conversation select,.contact.conversation textarea{color:var(--natural-ink);background:#fffdf8;border:1px solid rgba(38,50,43,.3);border-radius:2px;padding:.8rem .85rem}.contact select,.contact.conversation select{color-scheme:light;appearance:auto}.contact select option,.contact.conversation select option{color:#1f2923;background:#fffdf8}.contact input::placeholder,.contact textarea::placeholder{color:#717b74;opacity:1}
.upgrade-footer{background:var(--natural-sage-strong);color:var(--natural-ink);border-top-color:rgba(38,50,43,.16)}.upgrade-footer .brand,.upgrade-footer h2,.upgrade-footer p,.upgrade-footer p a,.upgrade-footer nav a,.upgrade-footer .eyebrow{color:var(--natural-ink)}.upgrade-footer .footer-address{display:inline-block;margin-top:.55rem;max-width:32ch}
body:has(.products-overview) .page-hero{min-height:30svh}.products-overview{padding-top:clamp(2rem,3vw,3rem)}.products-overview>.page-kicker{margin-bottom:1rem}.product-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(.6rem,1vw,1rem)}.product-tile{min-width:0;background:rgba(255,255,255,.72);border:1px solid rgba(38,50,43,.14)}.product-tile .product-image{aspect-ratio:1}.product-tile .product-image img{object-fit:cover}.product-tile.plaster-product .product-image img{object-fit:contain;background:#f2eee5}.product-tile__copy{padding:.78rem}.product-tile__copy span{font-family:var(--mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold)}.product-tile__copy h2{margin:.4rem 0 .3rem;font-size:clamp(1rem,1.35vw,1.4rem);line-height:1}.product-tile__copy p{margin:0;font-size:.76rem;line-height:1.4;color:#5c665f}
.route-card.media-card{display:flex;flex-direction:column;color:var(--ink);text-decoration:none}.route-card.media-card .image-lightbox-link{aspect-ratio:1}.route-card.media-card .image-lightbox-link img{object-fit:cover}.route-card.media-card.certificate-card .image-lightbox-link img{object-fit:contain;padding:1rem;background:#f7f3e9}.recognition-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:center}.recognition-logos .logo-lightbox{aspect-ratio:2/1;background:transparent}.recognition-logos img{object-fit:contain;padding:.5rem}
.project-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.65rem,1.2vw,1.1rem)}.project-gallery figure:first-child{grid-column:auto}.project-gallery figure{min-height:0;background:transparent}.project-gallery figure .image-lightbox-link{aspect-ratio:1}.project-gallery figure img{height:100%;max-height:none;object-fit:cover}.project-gallery figcaption{padding:.6rem 0 0}.plaster-palette-figure .image-lightbox-link{aspect-ratio:3/2}.plaster-palette-figure img{object-fit:contain}.page-grid>.plaster-palette-figure{align-self:start}
@media(max-width:1100px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.hero h1{font-size:clamp(3rem,15vw,4.8rem)}.page-hero h1{font-size:clamp(2.8rem,13vw,4.5rem)}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-tile__copy p{display:none}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.recognition-logos{grid-template-columns:repeat(2,minmax(0,1fr))}.recognition-grid{grid-template-columns:1fr}.upgrade-footer{padding-bottom:6rem}}

/* Keep the full six-product overview visible in one desktop landing viewport. */
.products-page .page-hero {
  min-height: 266px;
  align-items: stretch;
}

.products-page .page-hero__content {
  align-self: end;
  padding: 132px 0 26px;
}

.products-page .breadcrumbs {
  margin-bottom: 8px;
}

.products-page .page-hero h1 {
  margin-bottom: 6px;
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  line-height: 0.95;
}

.products-page .page-hero__intro {
  font-size: 0.95rem;
}

.products-page .products-overview {
  padding-top: 16px;
  padding-bottom: 32px;
}

.products-page .products-overview > .page-kicker {
  margin-bottom: 8px;
}

.products-page .product-tile__copy {
  padding: 0.55rem 0.6rem 0.65rem;
}

.products-page .product-tile__copy h2 {
  margin: 0.25rem 0 0.15rem;
  font-size: 1rem;
}

.products-page .product-tile__copy p {
  display: none;
}

/* Project cards: one sharp, square image stage and one equal-height copy stage. */
.projects-page .route-cards {
  align-items: stretch;
  grid-auto-rows: 1fr;
}

.projects-page .route-card {
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  min-height: 0;
}

.projects-page .route-card__image {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  background: #e8e2d5;
}

.projects-page .route-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
}

.projects-page .route-card__copy {
  display: flex;
  flex-direction: column;
  min-height: 218px;
}

/* Individual case-study galleries use the same consistent, clickable image frame. */
.project-detail-page .project-gallery {
  align-items: start;
}

.project-detail-page .project-gallery figure {
  min-width: 0;
  margin: 0;
}

.project-detail-page .project-gallery .image-lightbox-link {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
}

.project-detail-page .project-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
}

@media (max-width: 760px) {
  .products-page .page-hero {
    min-height: 250px;
  }

  .products-page .page-hero__content {
    padding: 104px 0 30px;
  }

  .products-page .product-tile__copy p {
    display: block;
  }

  .projects-page .route-card__copy {
    min-height: 0;
  }
}

}
