/*
 * Footer for the Figma pages.
 *
 * The live footer, verbatim: the markup is the same as footer.php and these
 * rules are lifted straight out of app.css — only the selectors the footer,
 * the cookie bar, the sticky CTA and the grid they sit in actually use. The
 * whole of app.css cannot be loaded here: it sizes `body` and `h1-h6`, which
 * would restyle every Figma section above the footer.
 *
 * Regenerate by re-running the extraction over app.css if that file changes.
 */

/* The extracted rules are rem-based, so they need app.css's own root scale to
   land at the live sizes (16px would make the footer half again too big). The
   Figma sections are px throughout, so this cannot reach them. */
html { font-size: 10px; }

@media (max-width: 1399.98px) { html { font-size: 0.8vw; } }
@media (max-width: 1023.98px) { html { font-size: 8px; } }

/* app.css's element resets, scoped to the footer region so nothing above it
   changes: without these the links come back blue and underlined and the lists
   grow bullets. */
.pp-legacy a { color: inherit; text-decoration: none; transition: all 0.3s ease-out; }
.pp-legacy ul { list-style: none; margin: 0; padding: 0; }
.pp-legacy li { position: relative; }
.pp-legacy p { margin: 0; }
.pp-legacy * { box-sizing: border-box; }

/* app.css sets this on body through the `font:` shorthand, which is why the
   rows come out shorter here without it. */
.pp-legacy { line-height: 1.389; }

/* Stand-in for header.php's `.body`: the sticky CTA is absolutely positioned
   against the page wrapper and measures its travel from it, so without a
   positioned ancestor spanning the content the button parks off-screen. */
.fh-page { position: relative; }


.row{--pp-gutter-x: 36px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:calc(-0.5*var(--pp-gutter-x));margin-left:calc(-0.5*var(--pp-gutter-x))}
.row>*{-ms-flex-negative:0;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--pp-gutter-x)*.5);padding-left:calc(var(--pp-gutter-x)*.5)}
.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}
.col-1{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}
.col-2{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}
.col-3{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}
.col-4{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}
.col-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}
.col-6{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}
.col-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}
.col-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}
.col-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}
.col-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}
.col-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}
.col-12{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}
.order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}
.order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}
.order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}
.order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}
.order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}
.order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}
.order-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}
.order-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}
.order-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}
.order-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}
.order-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}
.header .container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:13.3rem}
.container{margin:0 auto;width:1440px;padding:0 36px;max-width:100%}
.js-underline{position:relative;display:inline-block}
.submitting .js-underline{pointer-events:none;opacity:.3}
.js-underline span{pointer-events:none}
.js-underline canvas{pointer-events:auto;position:absolute;top:0;left:0;width:100%;-webkit-transform:translateY(22%);transform:translateY(22%);max-width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}
.main-nav .js-underline canvas{-webkit-transform:translateY(33%);transform:translateY(33%)}
.btn-underline{font-size:2.6rem;line-height:3.6rem;font-weight:normal;text-decoration:none}
.col-md-6+.col-md-4{margin-left:auto}
.contact-info .social{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:2.8rem;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}
.contact-info .social li{width:46%;margin-bottom:2.2rem}
.field-data .row>div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}
.field-data .row>div a{margin-right:auto;display:inline-block}
.cookie-bar{position:fixed;left:0;right:0;padding:3rem 0;z-index:99;background:#fff;border-top:1px solid #000;bottom:0}
.cookie-bar.hidden{display:none}
.cookie-bar p a{text-decoration:underline}
.cookie-bar .row{-webkit-box-align:center;-ms-flex-align:center;align-items:center}
.cookie-bar .btns{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}
.cookie-bar .btns a{margin-left:3rem}
.cookie-bar p{font-size:14px;line-height:normal}
.footer{margin-top:12rem;position:relative;font-size:2.8rem;overflow:hidden;padding-bottom:1.4rem}
.footer .links{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}
.footer .links li{margin-right:6rem;margin-bottom:2.2rem}
.footer .copy{margin-bottom:2rem}
.footer .social{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}
.footer .social li{width:46%;margin-bottom:2.2rem}
.sticky-h{position:absolute;width:12rem;right:3.6rem;top:0;pointer-events:none;bottom:-24rem}
.home .sticky-h{top:100vh}
.sticky-g{position:sticky;z-index:20;font-size:1.8rem;line-height:normal;right:0;border-radius:50%;padding:2rem;text-align:center;pointer-events:auto;width:12rem;height:12rem;background:#bffe00;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;top:100%;-webkit-transform:translateY(calc(-100% - 3.6rem));transform:translateY(calc(-100% - 3.6rem))}
@media (min-width: 768px){.col-sm{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.col-sm-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-sm-2{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-sm-3{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-sm-4{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-sm-6{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-sm-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-sm-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-sm-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-sm-12{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.order-sm-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-sm-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-sm-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-sm-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-sm-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-sm-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-sm-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-sm-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-sm-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-sm-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-sm-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-sm-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.cookie-bar p a:hover{text-decoration:none}.sticky-g:hover{background:#000;color:#bffe00}}
@media (min-width: 1024px){.col-md{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.col-md-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-md-2{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-md-3{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-md-4{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-md-6{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-md-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-md-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-md-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-md-12{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.order-md-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-md-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-md-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-md-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-md-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-md-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-md-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-md-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-md-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-md-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-md-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-md-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}}
@media (min-width: 1400px){.col-lg{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.col-lg-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-lg-2{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-lg-3{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-lg-4{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-lg-6{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-lg-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-lg-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-lg-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-lg-12{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.order-lg-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-lg-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-lg-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-lg-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-lg-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-lg-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-lg-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-lg-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-lg-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-lg-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-lg-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-lg-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}}
@media (max-width: 1023.98px){.js-underline{-webkit-box-shadow:0 2px 0 #000;box-shadow:0 2px 0 #000;display:inline}.js-underline canvas{display:none}.contact-info .social{margin-bottom:4rem}.more-details .row.fill>div+div{margin-top:24px}.cookie-bar .btns a{margin-left:30px}.cookie-bar br{display:none}.cookie-bar .row{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.cookie-bar .btns{margin-bottom:20px;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;margin-left:-30px}.footer .social{margin-bottom:4rem}.filters button .js-underline,.filters a .js-underline{-webkit-box-shadow:none;box-shadow:none;display:inline}.filters button.active .js-underline,.filters a.active .js-underline{-webkit-box-shadow:0 2px 0 #000;box-shadow:0 2px 0 #000;display:inline}}
@media (max-width: 767.98px){.header .container{height:auto;padding-top:20px;padding-bottom:20px}.container{padding-left:20px;padding-right:20px}.active-menu .footer,.active-menu .body{display:none}.contact-info .social li{width:100%;margin-bottom:16px}.contact-info .social{margin-bottom:46px;margin-top:-53px;font-size:21px}.contact-info .social li{width:47%;margin-bottom:22px}.field-item h2 .js-underline{text-decoration:none}.more-details .row.fill>div+div{margin-top:24px}.cookie-bar .btns a{font-size:26px;margin-bottom:3px}.footer{font-size:21px}.footer .links li{margin-bottom:66px}.footer .social{margin-bottom:48px}.footer .social li{width:100%;margin-bottom:16px}.sticky-h{display:none}.home-item h2 .js-underline{text-decoration:none}}
.js-underline canvas{
    min-width: 100%;
    max-width: 100%;
}

/* The floating button is the same acid green as the "Stay in the loop" band it
   scrolls over, and there it melted into the band. A white ring cuts it out;
   on the white pages it is invisible, so nothing changes anywhere else. A
   shadow rather than a border, so the button keeps its 120px. */
.sticky-g{box-shadow:0 0 0 4px #fff}

/* The cookie notice is a card in the bottom-left corner, not a full-width bar
   over the hero; the Get in touch bubble keeps the bottom-right corner. */
.cookie-bar.fh-cookie{left:36px;right:auto;bottom:36px;width:380px;max-width:calc(100vw - 72px);padding:24px;border:1px solid #000;background:#fff}
.fh-cookie__text p{margin:0}
/* Doubled class: the legacy phone rules pull .btns 30px left and push each
   link 30px back, and on pages that load app.css after this file they win. */
.cookie-bar.fh-cookie .btns{justify-content:flex-start;gap:32px;margin:20px 0 0}
.cookie-bar.fh-cookie .btns a{margin:0}
@media (max-width:767.98px){.cookie-bar.fh-cookie{left:20px;right:20px;bottom:20px;width:auto;max-width:none;padding:20px}}

/* ---------- phone: cookie card and footer ----------
   One type style in the card, text and buttons alike, and the card no taller
   than it has to be: on a 320px screen it was a fifth of the screen. While it
   shows, the footer grows by the card's height, so the last links can still be
   scrolled clear of it. */
@media (max-width:767.98px){
  .cookie-bar.fh-cookie{padding:16px 20px}
  .cookie-bar.fh-cookie .fh-cookie__text,
  .cookie-bar.fh-cookie .fh-cookie__text p,
  .cookie-bar.fh-cookie .btns a{font-size:16px;line-height:22px;letter-spacing:-0.32px}
  .cookie-bar.fh-cookie .btns{margin:12px 0 0;gap:32px}
  body:has(#cookie-bar:not(.hidden)) .pp-legacy .footer{padding-bottom:160px}

  /* Socials two by two rather than one a line, and Privacy Policy beside the
     copyright: the same links in half the height. Scoped through .pp-legacy
     so the About page, which loads app.css after this sheet, gets it too. */
  .pp-legacy .footer{margin-top:88px;padding-bottom:32px}
  .pp-legacy .footer .social{margin-bottom:24px}
  .pp-legacy .footer .social li{width:50%;margin-bottom:0}
  .pp-legacy .footer .col-md-8>.row{flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:baseline}
  .pp-legacy .footer .col-md-8>.row>.col-12{width:auto}
  .pp-legacy .footer .links li{margin:0}
  .pp-legacy .footer .copy{margin:0}

  /* A 44px tap target round every footer and cookie link: padding for the
     height, cancelled by an equal negative margin so nothing moves, and the
     two rules lifted by the same amount so they stay under the word. */
  .pp-legacy .fh-uline{padding:11px 0 14px;margin:-11px 0}
  .pp-legacy .fh-uline::before,
  .pp-legacy .fh-uline::after{bottom:11px}
  .pp-legacy .footer .social li{padding:11px 0}
}

/* Get in touch is pinned to the viewport's corner on every Figma page, the
   same from the first screen to the last. The legacy rules make it sticky in a
   box that starts a screen down and stops short of the footer, so it sat still
   and then rode up over the newsletter card on the way out. */
.pp-legacy .sticky-h{position:static;width:auto;height:0}
.pp-legacy .sticky-g{position:fixed;top:auto;right:36px;bottom:36px;transform:none}

/* In px, not the legacy 12rem: the root size scales with the viewport below
   1400px, which shrank the button to 96px while the cursor bubble
   (figma-cursor.css) stayed 120px. The two are meant to read as one thing. */
.sticky-g{width:120px;height:120px}

/* Hidden as on the legacy pages (app.css). Without it the badge's edge sat
   in the bottom-right corner, a red sliver beside the cookie card. */
.grecaptcha-badge{opacity:0!important;pointer-events:none!important}

/* A phone on its side is wide enough for the bubble but only ~390px tall, and
   with the header and the cookie card a 120px circle buried a third of it. */
@media (min-width:768px) and (max-height:500px){
  .pp-legacy .sticky-g{width:80px;height:80px;padding:12px;font-size:14px;right:20px;bottom:20px}
  .cookie-bar.fh-cookie{left:20px;bottom:20px}
}
