/* A typographic end to the page, with useful navigation rather than another enquiry banner. */
.v2-footer { background:#20231e; color:#f7f7f2; padding:58px 36px 20px; scroll-margin-top:100px; }
.v2-footer-inner { max-width:1288px; margin:auto; }
.v2-footer-main { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:80px; padding-bottom:44px; }
.v2-footer-eyebrow { font-size:16px; font-weight:600; line-height:1.5; color:#adf28c; margin:0 0 20px; }
.v2-footer h2 { font-size:clamp(32px,3.2vw,46px); font-weight:500; line-height:1.12; letter-spacing:-.045em; margin:0; }
.v2-footer h2 > span { display:block; }
.v2-footer-description { color:#c5cbbf; font-size:18px; line-height:1.65; max-width:37ch; margin:20px 0 0; text-wrap:pretty; }
.v2-footer-navigation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; padding-top:2px; }
.v2-footer-navigation h3 { font-size:16px; font-weight:500; color:#b7c0ae; line-height:1.5; margin:0 0 14px; }
.v2-footer-navigation ul { list-style:none; margin:0; padding:0; }
.v2-footer-navigation a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:49px; padding:9px 0; font-size:18px; line-height:1.5; border-bottom:1px solid #49513f; }
.v2-footer-navigation a > span:first-child { position:relative; }
.v2-footer-navigation a > span:first-child::after { position:absolute; content:''; bottom:-2px; left:0; right:0; height:1px; background:#adf28c; transform:scaleX(0); transform-origin:left; transition:transform .3s cubic-bezier(.25,1,.5,1); }
.v2-footer-link-arrow { font-size:21px; color:#adf28c; flex:none; transition:transform .25s ease; }
.v2-footer-navigation a:is(:hover,:focus-visible) > span:first-child::after { transform:scaleX(1); }
.v2-footer-navigation a:is(:hover,:focus-visible) .v2-footer-link-arrow { transform:translate(2px,-2px); }
.v2-footer-company-row { display:flex; align-items:end; justify-content:space-between; gap:36px; padding-top:28px; border-top:1px solid #49513f; }
.v2-footer-company { font-size:16px; line-height:1.7; color:#b7c0ae; }
.v2-footer-company p { margin:0; }
.v2-footer-company strong { display:block; font-size:18px; font-weight:500; color:#f7f7f2; margin:3px 0 7px; }
.v2-footer-company address { font-style:normal; }
.v2-footer-utility { display:flex; flex-direction:column; align-items:end; gap:20px; }
.v2-footer-languages { display:flex; gap:5px; }
.v2-footer-languages a { min-width:44px; min-height:44px; display:grid; place-items:center; font-size:16px; font-weight:600; border:1px solid transparent; border-radius:50%; transition:background .2s,color .2s; }
.v2-footer-languages a[aria-current] { border-color:#75846a; color:#adf28c; }
.v2-footer-languages a:hover { background:#384430; }
.v2-footer-up { display:flex; align-items:center; gap:18px; min-height:44px; font-size:16px; }
.v2-footer-up svg { width:24px; height:24px; color:#adf28c; transition:transform .25s ease; }
.v2-footer-up:is(:hover,:focus-visible) svg { transform:translateY(-4px); }
.v2-footer-wordmark { display:flex; align-items:center; justify-content:center; margin:36px 0 20px; min-height:44px; text-align:center; }
.v2-footer-wordmark > span { display:block; font-size:clamp(44px,13.1vw,178px); line-height:1.1; letter-spacing:-.075em; font-weight:750; white-space:nowrap; }
.v2-footer-wordmark > span > span { color:#adf28c; font-weight:400; }
.v2-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid #49513f; padding-top:12px; font-size:16px; color:#b7c0ae; }
.v2-footer-bottom p { margin:0; }
.v2-footer-legal { display:flex; gap:30px; flex-wrap:wrap; }
.v2-footer-legal a { display:flex; align-items:center; min-height:44px; text-underline-offset:4px; }
.v2-footer-legal a:hover { color:#f7f7f2; text-decoration:underline; }
.v2-footer a:focus-visible { outline:2px solid #adf28c; outline-offset:5px; }
@media(max-width:1000px) {
  .v2-footer-main { gap:40px; }
  .v2-footer-navigation { gap:24px; }
  .v2-footer-wordmark > span { font-size:12.6vw; }
}
@media(max-width:900px) {
  .v2-footer-main { grid-template-columns:minmax(0,1fr); gap:32px; }
  .v2-footer-navigation { gap:36px; }
}
@media(max-width:760px) {
  .v2-footer { padding:42px 24px 22px; scroll-margin-top:84px; }
  .v2-footer-main { grid-template-columns:minmax(0,1fr); gap:32px; padding-bottom:30px; }
  .v2-footer h2 { font-size:clamp(32px,7vw,42px); }
  .v2-footer-eyebrow { margin-bottom:17px; }
  .v2-footer-description { max-width:45ch; margin-top:17px; }
  .v2-footer-navigation { gap:26px; }
  .v2-footer-navigation a { font-size:17px; }
  .v2-footer-company-row { align-items:start; flex-direction:column; gap:25px; padding-top:25px; }
  .v2-footer-utility { flex-direction:row; align-items:center; justify-content:space-between; flex-wrap:wrap; width:100%; gap:20px; }
  .v2-footer-wordmark { gap:14px; margin:28px 0 24px; }
  .v2-footer-wordmark > span { font-size:12.5vw; }
  .v2-footer-bottom { flex-direction:column; align-items:start; gap:8px; padding-top:20px; }
  .v2-footer-legal { gap:22px; }
}
@media(max-width:400px) {
  .v2-footer-navigation { grid-template-columns:minmax(0,1fr); gap:24px; }
  .v2-footer-navigation h3 { margin-bottom:8px; }
  .v2-footer-up { margin-left:auto; }
}
@media(prefers-reduced-motion:reduce) {
  .v2-footer-navigation a > span:first-child::after,.v2-footer-link-arrow,.v2-footer-up svg,.v2-footer-languages a { transition:none; }
  .v2-footer-link-arrow,.v2-footer-up svg { transform:none !important; }
}
