/* ==========================================================================
   Pulsar Theme — Footer + QuickApp
   ========================================================================== */

/* --- QuickApp section (before footer) --- */

/* --- Footer --- */
.pls-footer{background:var(--pls-band);color:#aab6cb}
.pls-footer__inner{max-width:var(--pls-max-w);margin:0 auto;padding:52px var(--pls-sp-xl) 40px;display:grid;grid-template-columns:1.2fr 1.2fr 0.8fr;gap:48px}

/* Headings with line */
.pls-footer__heading{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#fff;margin:0 0 20px;padding-bottom:14px;border-bottom:1px solid #2a3a55}

/* Logo */
.pls-footer__logo{display:flex;align-items:center;gap:10px;margin-bottom:16px}

/* Both dimensions are ceilings and neither is forced, so the picture keeps its
   own proportions whatever it is: a wide wordmark stops at the width, a square
   or a tall one at the height. The logo is uploaded by the site owner and can
   have any shape, which is why nothing here is set to a fixed size. */
.pls-footer__logo-img{max-width:155px;max-height:42px;width:auto;height:auto;display:block}

/* Description text */
.pls-footer__desc{font-size:13px;line-height:1.65;color:#8895ad;margin:0 0 14px}
.pls-footer__desc a{color:#aab6cb;text-decoration:underline}
.pls-footer__desc a:hover{color:#fff}

/* Inline links */
.pls-footer__links-inline{display:flex;gap:16px;margin-top:8px}
.pls-footer__links-inline a{font-size:13px;font-weight:600;color:#fff}
.pls-footer__links-inline a:hover{color:var(--pls-brand)}

/* Network logos */
.pls-footer__network-logos{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.pls-footer__network-img{height:48px;width:auto;display:block}

/* Link list — bordered style */
.pls-footer__list{display:flex;flex-direction:column;gap:0}
.pls-footer__list a{font-size:14px;color:#aab6cb;transition:color .15s}
.pls-footer__list a:hover{color:#fff}
.pls-footer__list--bordered li{padding:14px 0;border-bottom:1px solid #1b2843;text-align:center}
.pls-footer__list--bordered li:last-child{border-bottom:none}
.pls-footer__list--bordered a{font-size:15px;font-weight:500}

/* Copyright bar */
.pls-copyright{background:var(--pls-bg);border-top:1px solid var(--pls-border-soft)}
.pls-copyright__inner{max-width:var(--pls-max-w);margin:0 auto;padding:20px var(--pls-sp-xl);display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--pls-mute);gap:16px;flex-wrap:wrap}
.pls-copyright__left{display:flex;flex-direction:column;gap:2px}
.pls-copyright__credit{font-size:12px;color:var(--pls-mute)}
/* The author's name is a link, but in the copyright row it should not shout
   about it: inherited colour, underline only on hover. */
.pls-copyright__author{color:inherit;text-decoration:none}
.pls-copyright__author:hover,.pls-copyright__author:focus-visible{color:var(--pls-brand);text-decoration:underline}
.pls-copyright__heart{display:inline-block;vertical-align:-1px;margin:0 1px}
.pls-copyright__right{display:flex;align-items:center;gap:16px}
.pls-copyright__menu{display:flex;gap:16px;list-style:none;margin:0;padding:0}
.pls-copyright__menu li a{font-size:12px;color:var(--pls-mute);transition:color .15s}
.pls-copyright__menu li a:hover{color:var(--pls-ink)}
.pls-copyright__cookie-link{display:inline-flex;align-items:center;font-size:12px;color:var(--pls-mute);text-decoration:none;white-space:nowrap;transition:color .15s}
.pls-copyright__cookie-link:hover{color:var(--pls-ink)}
.pls-copyright__cookie-link svg{flex-shrink:0}

/* --- Responsive --- */
@media(max-width:1024px){
    
    
    
    .pls-footer__inner{grid-template-columns:1fr 1fr;gap:32px}
}

@media(max-width:640px){
    
    
    
    
    
    
    
    .pls-footer__inner{grid-template-columns:1fr;gap:28px;padding:32px var(--pls-sp-md) 24px}
    .pls-copyright__inner{flex-direction:column;gap:18px;padding:16px var(--pls-sp-md)}
}


/* ==========================================================================
   Footer layouts
   The band is one element; what changes inside it is the layout, so the colour
   and the picture behind it are set once and every shape inherits them.
   ========================================================================== */

/* The light band. The dark one is the default above, so only what changes is
   restated here: a second full set of colours would be two places to keep in
   step. */
.pls-footer--light{background:var(--pls-surface);color:var(--pls-ink2)}
.pls-footer--light .pls-footer__heading{color:var(--pls-ink);border-bottom-color:var(--pls-border-soft)}
.pls-footer--light .pls-footer__desc{color:var(--pls-mute)}
.pls-footer--light .pls-footer__desc a,
.pls-footer--light .pls-footer__list a,
.pls-footer--light .pls-footer__links-inline a{color:var(--pls-ink2)}
.pls-footer--light .pls-footer__desc a:hover,
.pls-footer--light .pls-footer__list a:hover{color:var(--pls-brand)}
.pls-footer--light .pls-footer__list--bordered li{border-bottom-color:var(--pls-border-soft)}
.pls-footer--light .pls-footer__brand-name{color:var(--pls-ink)}

/* A picture behind the band. The veil is part of the rule that draws it: the
   text over a photograph is unreadable without one, and leaving the two apart
   would mean a picture could be set with the veil switched off. */
.pls-footer--image{position:relative;background-image:linear-gradient(rgba(11,17,32,.88),rgba(11,17,32,.94)),var(--pls-footer-img);
  background-size:cover;background-position:center}
.pls-footer--light.pls-footer--image{background-image:linear-gradient(rgba(255,255,255,.9),rgba(255,255,255,.95)),var(--pls-footer-img)}

/* --- The widget area --- */
.pls-footer__widgets{max-width:var(--pls-max-w);margin:0 auto;padding:0 var(--pls-sp-xl) 40px;
  display:grid;gap:40px}
/* The band is the widget area and nothing else: the three column grid the
   written columns use would put it in the first of them. */
.pls-footer__inner--widgets{display:block;padding:52px 0 0}
.pls-footer__widgets--2{grid-template-columns:repeat(2,1fr)}
.pls-footer__widgets--3{grid-template-columns:repeat(3,1fr)}
.pls-footer__widgets--4{grid-template-columns:repeat(4,1fr)}
/* The widgets keep the box they have in a sidebar, in the colour the tokens on
   the area give it — .pls-on-dark for a dark one. */
.pls-footer__widget + .pls-footer__widget{margin-top:32px}
.pls-footer__widgets{color:var(--pls-ink2)}
/* The see-through box: a veil of the band's own light and a hairline around it,
   rather than a card. Enough to say where one widget ends and the next begins
   without putting a second panel inside a panel.

   Set through the tokens the box is drawn from and not by overriding the rule
   that draws it: sidebar.css is loaded after this file, so a rule of the same
   weight here would lose — which is exactly why a plain `background:none`
   changed nothing — and everything added to a widget later follows the tokens
   on its own.

   White over a dark band and black over a light one: a fixed white veil on a
   light footer is a lighter patch on light, which reads as a mistake. Both are
   given in the alpha the ground can carry. */
.pls-footer__widgets--plain{--pls-surface:rgba(0,0,0,.035);--pls-border-soft:rgba(0,0,0,.09);
  --pls-shadow-sm:none;--pls-shadow-md:none}
.pls-footer__widgets--plain.pls-on-dark{--pls-surface:rgba(255,255,255,.05);
  --pls-border-soft:rgba(255,255,255,.11)}

/* --- Brand layout --- */
.pls-footer__inner--brand{grid-template-columns:1.4fr 2fr;align-items:start}
.pls-footer__inner--brand-alone{grid-template-columns:1fr}
/* Inside the brand column the widget area is already in the grid: it must not
   add the band padding a second time. */
.pls-footer__inner--brand .pls-footer__widgets{max-width:none;margin:0;padding:0;gap:32px}
.pls-footer__brand{display:flex;flex-direction:column;gap:16px}
.pls-footer__brand-name{font-size:22px;font-weight:800;color:#fff;letter-spacing:-.3px}
.pls-footer__brand .pls-footer__desc{margin:0}

/* --- Compact layout --- */
/* One row while it fits, and three centred lines when it does not: the parts
   are a name, a menu and a row of buttons, and none of them shortens. */
.pls-footer__inner--compact{display:flex;align-items:center;justify-content:space-between;
  gap:24px;flex-wrap:wrap;padding:28px var(--pls-sp-xl)}
.pls-footer__compact-brand{display:inline-flex;align-items:center}
.pls-footer__list--row{flex-direction:row;flex-wrap:wrap;gap:22px;list-style:none;margin:0;padding:0}
.pls-footer__list--row li{padding:0;border:none}
.pls-footer__list--row a{font-size:14px;font-weight:500}

/* --- The social row --- */
.pls-footer-social{display:flex;flex-wrap:wrap;gap:8px}
.pls-footer-social__btn{width:34px;height:34px;border-radius:calc(8px * var(--pls-r));
  display:inline-flex;align-items:center;justify-content:center;color:#fff;
  background:rgba(255,255,255,.08);transition:background .15s,color .15s,transform .15s}
.pls-footer-social__btn:hover{background:rgba(255,255,255,.16);transform:translateY(-1px)}
.pls-footer--light .pls-footer-social__btn{color:var(--pls-ink2);background:var(--pls-bg)}
.pls-footer--light .pls-footer-social__btn:hover{color:var(--pls-brand)}

/* --- The strip of pictures --- */
/* Full width and no gaps: the band is one picture cut into tiles, and a gap
   between them would turn it into a row of cards. */
.pls-footer-strip{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr}
.pls-footer-strip__item{display:block;position:relative;overflow:hidden;aspect-ratio:1/1}
.pls-footer-strip__img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .4s ease,filter .3s}
.pls-footer-strip__item:hover .pls-footer-strip__img{transform:scale(1.06);filter:brightness(.75)}
/* The label sits over the middle of the band, not over one tile: it names the
   strip, and pinning it to a tile would make it look like that tile's caption. */
.pls-footer-strip__label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  padding:9px 18px;border-radius:calc(8px * var(--pls-r));background:rgba(11,17,32,.82);
  color:#fff;font-size:14px;font-weight:600;pointer-events:none;white-space:nowrap}

@media(max-width:1024px){
    .pls-footer__inner--brand{grid-template-columns:1fr}
    .pls-footer__widgets--4{grid-template-columns:repeat(2,1fr)}
    /* Eight tiles on a phone would be eight stamps: the band keeps the first
       four and folds them into two rows. */
    .pls-footer-strip{grid-auto-flow:row;grid-template-columns:repeat(3,1fr)}
    .pls-footer-strip__item:nth-child(n+7){display:none}
}
@media(max-width:640px){
    .pls-footer__widgets{grid-template-columns:1fr;gap:32px;padding:0 var(--pls-sp-md) 28px}
    .pls-footer__widgets--2,.pls-footer__widgets--3,.pls-footer__widgets--4{grid-template-columns:1fr}
    .pls-footer__inner--compact{flex-direction:column;text-align:center;padding:24px var(--pls-sp-md)}
    .pls-footer__list--row{justify-content:center}
    .pls-footer-strip{grid-template-columns:repeat(2,1fr)}
    .pls-footer-strip__item:nth-child(n+5){display:none}
}

/* ==========================================================================
   The newsletter block in a column
   The banner form of this block lives in home.css, which is loaded after this
   file — so every rule here is written twice over, `.pls-newsletter` plus the
   variant, to outweigh it. Without that the block came out as the banner on
   the front page and as the column everywhere else: the same footer drawn two
   different ways depending on the page it closed.
   ========================================================================== */
.pls-section--newsletter.pls-section--newsletter-compact{margin:0;padding:0}
/* No black panel: the footer is already a band, and a second dark rectangle
   inside it reads as a box inside a box. The veil is the one the widgets use,
   so the column holds together. */
.pls-newsletter.pls-newsletter--compact{display:block;padding:20px;gap:0;
  border-radius:var(--pls-radius);background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.11);color:inherit}
.pls-footer--light .pls-newsletter.pls-newsletter--compact{background:rgba(0,0,0,.035);
  border-color:rgba(0,0,0,.09)}
/* ══ Newsletter: the form belongs to a plugin ═══════════════════════════════
   These rules live here, and not with the rest of the banner, because the
   block appears in the footer of every page while the home styles are loaded
   on the front page alone. The compact rules further down come after them on
   purpose: at the same weight the later one wins.
   ══════════════════════════════════════════════════════════════════════════ */
/* ── Newsletter: the form belongs to a plugin ──────────────────────────────
   Whichever plugin collects the addresses brings its own markup, and no two
   write it the same way. What the rules below rely on is the shape shared by
   all of them — a form, rows, a field, a button — and never a class of one
   plugin, so a plugin nobody has tried yet lands in the same place.

   The three differences that had to be accounted for:
   · the element used for a row is a `p` in one plugin and a `div` in another;
   · some plugins wrap the rows in a container of their own inside the form,
     so a row is one level deeper than the form;
   · a field is sometimes inside its `<label>` rather than beside it.
   ────────────────────────────────────────────────────────────────────────── */
/* The form, and the container a plugin may put its rows in, are the same
   thing here: whichever holds the rows lays them out across the block. */
.pls-newsletter__form--plugin form,
.pls-newsletter__form--plugin form > div:has(> p input),
.pls-newsletter__form--plugin form > div:has(> div input){display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:0;padding:0!important;background:none!important;border:0!important;width:100%}
/* The plugin's own wrapper around the form: several give it a width of their
   own and space above and below, written for a page where the form stands
   alone. Inside this block the box is the theme's. */
.pls-newsletter .pls-newsletter__form--plugin > div{margin:0!important;padding:0;max-width:none;width:100%;background:none;border:0}
/* A row of the form, at either level. The space between rows is the gap set
   above, so the margins the plugin writes are cleared: they carry its own id
   in the selector, which nothing short of !important outweighs.
   A row takes the whole width unless it is recognised below, so a consent
   checkbox, a second field or a validation message is never squeezed beside
   the address. */
.pls-newsletter__form--plugin :is(form, form > div) > :is(p, div){margin:0!important;padding:0!important;min-width:0;flex:1 1 100%}
/* The field takes the room that is left — its own row, or the row of the
   label it sits inside. */
.pls-newsletter__form--plugin :is(form, form > div) > :is(p, div):has(> :is(input[type=email], input[type=text])),
.pls-newsletter__form--plugin :is(form, form > div) > :is(p, div):has(> label > :is(input[type=email], input[type=text])){flex:1 1 220px}
/* The button takes only what it needs. Matched on a child, not a descendant:
   a container of rows holds the button too, and it must keep its full width. */
.pls-newsletter__form--plugin :is(form, form > div) > :is(p, div):has(> :is(input[type=submit], button)),
.pls-newsletter__form--plugin :is(form, form > div) > :is(p, div):has(> label > :is(input[type=submit], button)){flex:0 0 auto}
.pls-newsletter__form--plugin label{display:block;font-size:13px;margin-bottom:4px;color:inherit}
.pls-newsletter__form--plugin form p{color:rgba(255,255,255,.75);font-size:13px;line-height:1.5}
/* A line a plugin writes above its form — the notice about a key it still
   needs, which only an administrator is shown. It is not part of the form, so
   it is given the size of a note rather than left at body size. */
.pls-newsletter__form--plugin > p{font-size:12.5px;line-height:1.5;margin:0 0 10px}
/* Field and button.
   The sizes are declared over the ones a plugin writes inline on the control
   itself, which no plain rule can reach; the colours over the ones its own
   stylesheet sets, drawn for a white page — a grey field and a dark grey
   button, which on this band would be a hole in it. Both are marked because
   the alternative, a longer selector, still loses to an inline style and to
   whichever sheet the site happens to load last. */
.pls-newsletter .pls-newsletter__form--plugin :is(input[type=email], input[type=text]){width:100%!important;box-sizing:border-box!important;padding:14px 16px!important;margin:0!important;line-height:1.25;font-size:15px;
  border-radius:calc(12px * var(--pls-r))!important;border:1px solid rgba(255,255,255,.18)!important;background:rgba(255,255,255,.08)!important;color:#fff!important;box-shadow:none!important}
.pls-newsletter .pls-newsletter__form--plugin :is(input[type=email], input[type=text])::placeholder{color:rgba(255,255,255,.55);opacity:1}
.pls-newsletter .pls-newsletter__form--plugin :is(input[type=submit], button){width:auto!important;height:auto!important;box-sizing:border-box!important;padding:14px 22px!important;margin:0!important;line-height:1.25;font-size:15px;font-weight:600;cursor:pointer;
  border-radius:calc(12px * var(--pls-r))!important;border:0!important;background:var(--pls-brand)!important;color:#fff!important;text-shadow:none!important}
.pls-newsletter .pls-newsletter__form--plugin :is(input[type=submit], button):hover{filter:brightness(1.08)}
/* The spinner a plugin shows while it sends: on a white page it is a dark dot
   on nothing, here it needs to be seen against the band. */
.pls-newsletter__form--plugin img[src*="spinner"]{filter:invert(1) brightness(2)}

/* ==========================================================================
   The signup form on a phone
   Last in the file on purpose: the rules that lay the form out across the row
   are written further up, and at the same weight the one that comes later
   wins. Inside a media query further up they were overruled by them, which is
   why the field and the button stayed side by side however narrow the screen.
   ========================================================================== */
@media(max-width:640px){
    /* One under the other, each the width of the block. Side by side on a
       phone the field is left about as wide as the word it holds. */
    .pls-newsletter__form--plugin form,
    .pls-newsletter__form--plugin form > div:has(> p input),
    .pls-newsletter__form--plugin form > div:has(> div input){display:block}
    /* The rows of the form: ten pixels is the distance between two controls
       of one form; twenty is the distance between two blocks. */
    .pls-newsletter__form--plugin :is(form, form > div) > :is(p, div){margin:0 0 10px!important;width:100%!important}
    .pls-newsletter__form--plugin :is(form, form > div) > :is(p, div):last-child{margin-bottom:0!important}
    .pls-newsletter .pls-newsletter__form--plugin :is(input[type=email], input[type=text], input[type=submit], button){width:100%!important;display:block;
      font-size:14px;padding:13px 18px!important;margin-left:0!important;margin-right:0!important}
    .pls-newsletter__form{max-width:none}
}

/* The heading comes down to the size of what is around it: at 28px in a column
   this narrow every word takes a line of its own. */
.pls-newsletter.pls-newsletter--compact .pls-newsletter__title{font-size:18px;line-height:1.3;
  letter-spacing:-.2px;margin:0 0 8px}
.pls-newsletter.pls-newsletter--compact .pls-newsletter__label{font-size:11px;letter-spacing:.4px;
  text-transform:none;color:var(--pls-accent);
  color:color-mix(in srgb, var(--pls-accent) 75%, #fff);margin-bottom:6px}
.pls-newsletter.pls-newsletter--compact .pls-newsletter__text{font-size:13px;line-height:1.6;
  opacity:1;color:var(--pls-mute);margin:0}
.pls-newsletter.pls-newsletter--compact .pls-newsletter__form-wrap{margin-top:14px}
/* The box the plugin's form comes in is taken off: it is drawn for a page of
   its own, and inside this one it would be a third frame. The fields are given
   the width of the column, one under the other. */
.pls-newsletter.pls-newsletter--compact .pls-newsletter__form{background:none;border:none;padding:0}
.pls-newsletter--compact .pls-newsletter__form--plugin form,
.pls-newsletter--compact .pls-newsletter__form--plugin form > div:has(> p input),
.pls-newsletter--compact .pls-newsletter__form--plugin form > div:has(> div input){display:block;margin:0;padding:0!important}
/* A row of the form is whichever element the plugin used for it, a paragraph
   or a div, and the space under it is set here rather than by the plugin,
   whose own rule carries an id and wins over a plain declaration. */
.pls-newsletter--compact .pls-newsletter__form--plugin :is(form, form > div) > :is(p, div){margin:0 0 8px!important;flex:none}
.pls-newsletter--compact .pls-newsletter__form--plugin :is(form, form > div) > :is(p, div):last-child{margin-bottom:0!important}
.pls-newsletter--compact .pls-newsletter__form--plugin :is(input[type=email], input[type=text], input[type=submit], button){width:100%!important;box-sizing:border-box}
.pls-newsletter.pls-newsletter--compact .pls-newsletter__disclaimer{font-size:11px;
  color:var(--pls-mute);text-align:left;margin:8px 0 0}

/* In the column it has to itself the block reads across rather than down: the
   words on one side, the form on the other. That is what keeps it about as
   tall as the block facing it — stacked, it would be half as tall again for
   the same content. */
.pls-newsletter.pls-newsletter--compact-wide{display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center;padding:24px 26px}
.pls-newsletter.pls-newsletter--compact-wide .pls-newsletter__title{font-size:21px;line-height:1.25;
  margin-bottom:8px}
.pls-newsletter.pls-newsletter--compact-wide .pls-newsletter__text{font-size:13.5px}
.pls-newsletter.pls-newsletter--compact-wide .pls-newsletter__form-wrap{margin-top:0}
@media(max-width:1024px){
    .pls-newsletter.pls-newsletter--compact-wide{grid-template-columns:1fr;gap:16px;padding:22px}
    .pls-newsletter.pls-newsletter--compact-wide .pls-newsletter__title{font-size:19px}
}

/* ── The "menu columns" layout ─────────────────────────────────────────────
   Two storeys: the strip that says whose site this is, and the menus under it.
   The written columns are a three column grid, so this shape has to undo that
   grid before laying out its own — the two bands are stacked, not columns. */
.pls-footer__inner--menus{display:block}

.pls-footer__mstrip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;
  gap:36px;padding:22px 26px;margin-bottom:44px;
  border:1px solid rgba(255,255,255,.09);border-radius:var(--pls-radius);
  background:rgba(255,255,255,.035)}
.pls-footer--light .pls-footer__mstrip{border-color:var(--pls-border-soft);background:rgba(0,0,0,.03)}
/* With neither description nor buttons there is nothing to frame: a logo alone
   inside a box reads as a box that failed to fill. */
.pls-footer__mstrip--bare{border:0;background:none;padding:0 0 4px}
.pls-footer__mstrip .pls-footer__logo{display:block}
/* The description takes whatever the strip has left. The row is three tracks —
   logo, description, buttons — and only the middle one is elastic: the buttons
   ask for the width they need, so adding a network narrows the paragraph by
   exactly that much instead of pushing anything out of the strip. No maximum
   width here for the same reason: a cap would stop the text short of the
   buttons and leave a gap that reads as a missing column. */
.pls-footer__mstrip-desc{margin:0}
.pls-footer__mstrip-social{justify-self:end}
/* The buttons keep the shape they have everywhere else; here they only have to
   stop stretching, because the strip gives them a column of their own. */
.pls-footer__mstrip-social .pls-footer-social{margin:0;flex-wrap:wrap;justify-content:flex-end}

.pls-footer__mcols{display:grid;gap:40px;grid-template-columns:repeat(4,minmax(0,1fr))}
.pls-footer__mcols--3{grid-template-columns:repeat(3,minmax(0,1fr))}
/* The heading of a menu column carries a short accent under it instead of the
   hairline that runs the width of the other columns: these sit side by side in
   equal widths, and a rule across each one would read as a table. */
.pls-footer__inner--menus .pls-footer__heading{position:relative;border-bottom:0;padding-bottom:12px;
  margin-bottom:16px}
.pls-footer__inner--menus .pls-footer__heading::after{content:"";position:absolute;left:0;bottom:0;
  width:26px;height:2px;border-radius:calc(2px * var(--pls-r));background:var(--pls-brand)}

@media(max-width:1024px){
    .pls-footer__mstrip{grid-template-columns:1fr;gap:18px;text-align:left}
    .pls-footer__mstrip-social{justify-self:start}
    .pls-footer__mstrip-social .pls-footer-social{justify-content:flex-start}
    .pls-footer__mcols,.pls-footer__mcols--3{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
}
@media(max-width:640px){
    .pls-footer__mstrip{margin-bottom:32px;padding:18px 20px}
    .pls-footer__mcols,.pls-footer__mcols--3{grid-template-columns:1fr;gap:28px}
}
