/* =========================================================
   Pespisa design — site header, footer and homepage template.
   Brand colors come from CSS custom properties declared inline
   in header.php from ACF "Colors and Styles" options; the values
   below are fallbacks only.
   ========================================================= */
:root {
    --pes-accent: #1F4D3A;
    --pes-accent-900: #0B2018;
    --pes-lime: #8CC63F;
    --pes-bg: #F4F4F2;
    --pes-text: #14181A;
    --pes-divider: rgba(29,31,32,.16);
    --pes-font-display: "Oswald","Arial Narrow",sans-serif;
    --pes-font-body: "Open Sans",-apple-system,"Segoe UI",sans-serif;
}

/* Derived shades — follow whatever brand colors header.php sets. */
:root,body {
    --pes-accent-700: color-mix(in srgb,var(--pes-accent) 72%,#000);
    --pes-accent-950: color-mix(in srgb,var(--pes-accent-900) 85%,#000);
    --pes-lime-deep: color-mix(in srgb,var(--pes-lime) 80%,#000);
    --pes-ink: color-mix(in srgb,var(--pes-accent-900) 85%,var(--pes-accent));
}

/* ---------- base (scoped) ---------- */
.pes-scope,.pes-scope * {
    box-sizing: border-box
}

.pes-scope {
    font-family: var(--pes-font-body);
    color: var(--pes-text);
    font-size: 16px;
    line-height: 1.5
}

.pes-scope h1,.pes-scope h2,.pes-scope h3,.pes-scope h4,.pes-scope h5 {
    font-family: var(--pes-font-display);
    font-weight: 700;
    letter-spacing: .01em;
    line-height: 1.1;
    margin: 0
}

.pes-scope p {
    margin: 0
}

.pes-scope a {
    color: var(--pes-accent)
}

.pes-scope a:hover {
    color: var(--pes-lime-deep)
}

.pes-scope img {
    max-width: 100%
}

.pes-wrap {
    max-width: 1440px;
    margin: 0 auto;
    padding-left: 40px;
    padding-right: 40px
}

body.page-template-pespisa-home {
    background: var(--pes-bg)
}

/* ---------- icons: subset of the design's icon font (15 glyphs), embedded ----------
   Available names: money1, check-circle, users, home1, star, droplet, snow, clock-ni, tools-hales, bb-thumbsup, map-marker, phone, calendar, envelope, mobile1 */
@font-face {
    font-family: 'pes-icons';
    src: url(data:font/woff2;base64,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) format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: block
}

/* .pes-icon works anywhere (inner-page sections reuse it outside .pes-scope); [class*="icon-"] raises specificity above the theme's icomoon rule */
.pes-icon[class*="icon-"],.pes-scope [class^="icon-"],.pes-scope [class*=" icon-"] {
    font-family: 'pes-icons'!important;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    speak: never;
    -webkit-font-smoothing: antialiased
}

.pes-scope .icon-money1:before,.pes-icon.icon-money1:before {
    content: "\f0d6"
}

.pes-scope .icon-check-circle:before,.pes-icon.icon-check-circle:before {
    content: "\f058"
}

.pes-scope .icon-users:before,.pes-icon.icon-users:before {
    content: "\f0c0"
}

.pes-scope .icon-home1:before,.pes-icon.icon-home1:before {
    content: "\f015"
}

.pes-scope .icon-star:before,.pes-icon.icon-star:before {
    content: "\f005"
}

.pes-scope .icon-droplet:before,.pes-icon.icon-droplet:before {
    content: "\e979"
}

.pes-scope .icon-snow:before,.pes-icon.icon-snow:before {
    content: "\eb1b"
}

.pes-scope .icon-clock-ni:before,.pes-icon.icon-clock-ni:before {
    content: "\e99e"
}

.pes-scope .icon-tools-hales:before,.pes-icon.icon-tools-hales:before {
    content: "\e92c"
}

.pes-scope .icon-bb-thumbsup:before,.pes-icon.icon-bb-thumbsup:before {
    content: "\e977"
}

.pes-scope .icon-map-marker:before,.pes-icon.icon-map-marker:before {
    content: "\f041"
}

.pes-scope .icon-phone:before,.pes-icon.icon-phone:before {
    content: "\f095"
}

.pes-scope .icon-calendar:before,.pes-icon.icon-calendar:before {
    content: "\f073"
}

.pes-scope .icon-envelope:before,.pes-icon.icon-envelope:before {
    content: "\f0e0"
}

.pes-scope .icon-mobile1:before,.pes-icon.icon-mobile1:before {
    content: "\f10b"
}

/* ---------- theme overrides ---------- */
#content.pes-home {
    padding: 0!important;
    max-width: none
}

.pes-scope h1,.pes-scope h2,.pes-scope h3,.pes-scope h4,.pes-scope h5 {
    color: inherit;
    clear: none;
    padding-bottom: 0
}

.pes-scope ul {
    margin-left: 0!important
}

footer#colophon.pes-footer {
    font-size: 16px
}

header#masthead.pes-header {
    box-shadow: none;
    padding: 0;
    margin: 0;
    position: relative!important;
    top: auto!important;
    z-index: 50;
    max-width: none
}

.pes-scope .sub-menu a:hover {
    background: transparent!important
}

/* theme custom.css sets a[href^="tel"]{display:block;margin-bottom:3%} */
.pes-scope a[href^="tel"] {
    margin-bottom: 0
}

.pes-scope a.pes-btn {
    display: inline-flex
}

.pes-scope a.pes-mhead__call,.pes-scope a.pes-footer__cta {
    display: flex
}

.pes-scope .pes-footer__addr a[href^="tel"] {
    display: inline
}

.pes-scope figure {
    margin: 0
}

/* The old theme header was position:fixed, so custom.css pushes first page sections down; the new header is in-flow. */
body .insideimage,body .sliderfull,body .client-review,body .thank-you,body .client-response,body .error-page {
    margin-top: 0!important
}

/* ---------- buttons ---------- */
.pes-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--pes-font-display);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    text-decoration: none!important;
    cursor: pointer;
    border-radius: 999px;
    border: 2px solid transparent;
    line-height: 1;
    transition: background-color .3s ease,color .3s ease,border-color .3s ease;
    white-space: nowrap
}

.pes-btn .pes-icon {
    font-size: .95em
}

.pes-btn--lg {
    font-size: 18px;
    padding: 0 32px;
    height: 58px
}

.pes-btn--md {
    font-size: 16px;
    padding: 0 26px;
    height: 50px
}

.pes-btn--sm {
    font-size: 15px;
    padding: 0 22px;
    height: 46px
}

.pes-btn--lime {
    background: var(--pes-lime);
    border-color: var(--pes-lime);
    color: var(--pes-ink)!important
}

.pes-btn--lime:hover {
    background: var(--pes-lime-deep);
    border-color: var(--pes-lime-deep);
    color: var(--pes-ink)!important
}

.pes-btn--lg.pes-btn--lime {
    box-shadow: 0 10px 26px rgba(140,198,63,.3)
}

.pes-btn--ghost {
    background: transparent;
    border-color: rgba(244,244,242,.55);
    color: #fff!important
}

.pes-btn--ghost:hover {
    background: #fff;
    border-color: #fff;
    color: var(--pes-accent)!important
}

.pes-btn--green {
    background: var(--pes-accent);
    border-color: var(--pes-accent);
    color: #fff!important
}

.pes-btn--green:hover {
    background: var(--pes-accent-700);
    border-color: var(--pes-accent-700)
}

.pes-btn--outline {
    background: transparent;
    border-color: var(--pes-accent);
    color: var(--pes-accent)!important
}

.pes-btn--outline:hover {
    background: var(--pes-accent);
    color: #fff!important
}

/* ---------- eyebrow pills ---------- */
.pes-pill {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 22px;
    border-radius: 999px;
    background: rgba(244,244,242,.12);
    border: 1px solid rgba(244,244,242,.28);
    font-family: var(--pes-font-display);
    font-weight: 700;
    font-size: .85rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #fff
}

.pes-pill::before,.pes-pill::after {
    content: "";
    display: inline-block;
    width: 36px;
    height: 2px;
    background: #fff
}

.pes-kicker {
    font-family: var(--pes-font-display);
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: 14px;
    color: var(--pes-lime-deep);
    margin-bottom: 14px
}

/* =========================================================
   HEADER
   ========================================================= */
.pes-topbar {
    background: var(--pes-accent-900);
    color: #F4F4F2
}

.pes-topbar .pes-wrap {
    display: flex;
    align-items: center;
    gap: 28px;
    padding-top: 9px;
    padding-bottom: 9px;
    font-size: 13px;
    letter-spacing: .02em;
    white-space: nowrap
}

.pes-topbar__sep {
    width: 1px;
    height: 14px;
    background: rgba(244,244,242,.25)
}

.pes-topbar__tag {
    opacity: .85
}

.pes-topbar__emergency {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--pes-lime);
    font-family: var(--pes-font-display);
    letter-spacing: .06em;
    text-transform: uppercase
}

.pes-topbar__emergency::before {
    content: "";
    width: 7px;
    height: 7px;
    background: var(--pes-lime);
    border-radius: 50%
}

.pes-topbar__nav {
    margin-left: auto
}

.pes-topbar__nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 26px;
    font-family: var(--pes-font-display);
    font-size: 14px;
    letter-spacing: .1em;
    text-transform: uppercase
}

.pes-topbar__nav a {
    color: #F4F4F2!important;
    text-decoration: none
}

.pes-topbar__nav a:hover {
    color: var(--pes-lime)!important
}

.pes-header {
    background: #fff;
    border-bottom: 1px solid var(--pes-divider);
    position: relative;
    z-index: 50
}

.pes-header__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
    padding-top: 14px;
    padding-bottom: 14px
}

.pes-header__navrow {
    border-top: 1px solid var(--pes-divider)
}

.pes-header__logo {
    flex: none;
    display: block
}

.pes-header__logo img {
    height: 91px;
    width: auto;
    display: block
}

.pes-mainnav>ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 4px 26px;
    font-family: var(--pes-font-display);
    font-size: 16px;
    letter-spacing: .03em;
    text-transform: uppercase;
    white-space: nowrap
}

.pes-mainnav li {
    position: relative
}

.pes-mainnav>ul>li>a {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--pes-text)!important;
    text-decoration: none;
    padding: 14px 0;
    border-bottom: 2px solid transparent
}

.pes-mainnav>ul>li>a:hover,.pes-mainnav>ul>li.current-menu-item>a {
    color: var(--pes-accent)!important;
    border-bottom-color: var(--pes-lime)
}

.pes-mainnav>ul>li.menu-item-has-children>a::after {
    content: "\25BE";
    font-size: 11px;
    opacity: .75
}

.pes-mainnav .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: -16px;
    width: 320px;
    background: #fff;
    padding: 14px 18px;
    box-shadow: 0 3px 10px rgba(43,43,45,.16);
    border: 1px solid var(--pes-divider);
    border-radius: 22px;
    list-style: none;
    margin: 0;
    z-index: 60
}

.pes-mainnav li:hover>.sub-menu,.pes-mainnav li:focus-within>.sub-menu {
    display: grid;
    gap: 2px
}

.pes-mainnav .sub-menu a {
    display: block;
    padding: 7px 0;
    color: var(--pes-text)!important;
    text-decoration: none;
    font-size: 15px;
    border-bottom: 1px solid var(--pes-divider)
}

.pes-mainnav .sub-menu li:last-child a {
    border-bottom: 0
}

.pes-mainnav .sub-menu a:hover {
    color: var(--pes-accent)!important;
    padding: 7px 0
}

.pes-mainnav>ul>li:nth-last-child(-n+2)>.sub-menu {
    left: auto;
    right: -16px
}

.pes-mainnav .sub-menu .sub-menu {
    position: static;
    display: block;
    width: auto;
    box-shadow: none;
    border: 0;
    padding: 0 0 0 12px
}

.pes-header__ctas {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: none
}

/* mobile header */
.pes-mhead {
    display: none;
    position: relative;
    z-index: 50
}

.pes-mhead__bar {
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--pes-divider)
}

.pes-mhead-snav {
    width: 56px;
    height: 44px;
    border-radius: 999px!important;
    border: 0;
    background: #EDEDE8!important;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex: none;
    padding: 0em 1.1em!important;
}

.pes-mhead-snav span {
    display: block;
    width: 22px;
    height: 2px;
    background: #14181A;
    box-shadow: 0 -7px 0 #14181A,0 7px 0 #14181A
}

.pes-mhead__logo {
    flex: 1;
    display: flex;
    justify-content: center
}

.pes-mhead__logo img {
    height: 44px;
    width: auto
}

.pes-mhead__call {
    width: 72px;
    height: 72px;
    border-radius: 999px;
    background: var(--pes-lime);
    color: var(--pes-ink)!important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    text-decoration: none!important;
    box-shadow: 0 8px 18px rgba(20,24,26,.25);
    flex: none
}

.pes-mhead__call .pes-icon {
    font-size: 22px
}

.pes-mhead__call small {
    font-family: var(--pes-font-display);
    font-size: 10px;
    line-height: 1.05;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-align: center
}

.pes-quicknav {
    background: var(--pes-accent)
}

.pes-quicknav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr))
}

.pes-quicknav a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 12px 2px;
    color: #F4F4F2!important;
    text-decoration: none;
    font-family: var(--pes-font-display);
    font-size: 11px;
    letter-spacing: .03em;
    text-transform: uppercase;
    border-right: 1px solid rgba(244,244,242,.2);
    text-align: center
}

.pes-quicknav li:last-child a {
    border-right: 0
}

.pes-quicknav a [class*="icon-"] {
    font-size: 19px;
    color: #fff
}

.pes-mmenu {
    display: none;
    background: #fff;
    border-bottom: 1px solid var(--pes-divider);
    padding: 8px 20px 18px
}

.pes-mmenu.is-open {
    display: block
}

.pes-mmenu ul {
    list-style: none;
    margin: 0;
    padding: 0
}

.pes-mmenu a {
    display: block;
    padding: 14px 0;
    font-family: var(--pes-font-display);
    font-size: 16px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #14181A!important;
    text-decoration: none;
    border-bottom: 1px solid var(--pes-divider)
}

.pes-mmenu .sub-menu a,.pes-mmenu .sub-menu a:hover {
    padding: 14px 0 14px 16px;
    font-size: 14px
}

/* =========================================================
   FOOTER
   ========================================================= */
.pes-footer {
    background: var(--pes-accent-900);
    color: #F4F4F2
}

.pes-footer .pes-wrap {
    padding-top: 56px;
    padding-bottom: 40px
}

.pes-footer__ctas {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 28px;
    margin-bottom: 56px
}

.pes-footer__cta {
    display: flex;
    align-items: center;
    gap: 24px;
    border-radius: 22px;
    padding: 26px 34px;
    text-decoration: none!important;
    box-shadow: 0 14px 34px rgba(0,0,0,.28);
    transition: background-color .3s ease
}

.pes-footer__cta--call {
    background: var(--pes-accent)
}

.pes-footer__cta--call:hover {
    background: var(--pes-accent-700)
}

.pes-footer__cta--book {
    background: var(--pes-lime);
    justify-content: space-between
}

.pes-footer__cta--book:hover {
    background: var(--pes-lime-deep)
}

.pes-footer__cta .pes-icon {
    font-size: 44px;
    flex: none
}

.pes-footer__cta--call .pes-icon {
    color: #fff
}

.pes-footer__cta--book .pes-icon {
    color: var(--pes-ink)
}

.pes-footer__cta b {
    display: block;
    font-family: var(--pes-font-display);
    font-size: 34px;
    line-height: 1.05;
    letter-spacing: .03em;
    text-transform: uppercase;
    font-weight: 700
}

.pes-footer__cta small {
    display: block;
    font-size: 15px;
    letter-spacing: .05em;
    text-transform: uppercase;
    margin-top: 4px
}

.pes-footer__cta--call b {
    color: #fff
}

.pes-footer__cta--call small {
    color: rgba(244,244,242,.85)
}

.pes-footer__cta--book b {
    color: var(--pes-ink)
}

.pes-footer__cta--book small {
    color: rgba(15,42,32,.8)
}

.pes-footer__cols {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 48px
}

.pes-footer__logo {
    height: 64px;
    width: auto;
    background: #fff;
    padding: 8px 14px;
    border-radius: 14px
}

.pes-footer__since {
    font-family: var(--pes-font-display);
    font-size: 17px;
    letter-spacing: .05em;
    text-transform: uppercase;
    margin-top: 18px;
    color: var(--pes-lime)
}

.pes-footer__small {
    font-size: 14px;
    line-height: 1.7;
    margin-top: 12px;
    color: rgba(244,244,242,.85)
}

.pes-footer__heading {
    display: block;
    font-family: var(--pes-font-display);
    font-weight: 700;
    line-height: 1.1;
    font-size: 15px;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin: 0 0 18px;
    color: var(--pes-lime)
}

.pes-footer__addr {
    font-size: 15.5px;
    line-height: 1.85;
    color: rgba(244,244,242,.9)
}

.pes-footer__addr strong {
    color: #fff
}

.pes-footer__addr a {
    color: #F4F4F2!important;
    text-decoration: none
}

.pes-footer__addr a:hover {
    color: var(--pes-lime)!important
}

.pes-footer__gmb {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    font-family: var(--pes-font-display);
    font-size: 15px;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--pes-lime)!important;
    text-decoration: none
}

.pes-footer__gmb:hover {
    color: #fff!important
}

.pes-footer__badges {
    display: flex;
    align-items: center;
    gap: 18px;
    background: #fff;
    border-radius: 18px;
    padding: 14px 18px;
    margin-bottom: 16px;
    flex-wrap: wrap
}

.pes-footer__badges img {
    height: 54px;
    width: auto
}

.pes-footer__badges--sm {
    padding: 12px 18px;
    gap: 14px;
    margin-bottom: 0
}

.pes-footer__badges--sm img {
    height: 26px
}

.pes-footer__links ul {
    list-style: none;
    margin: 0;
    padding: 0
}

.pes-footer__links a {
    display: block;
    padding: 12px 0;
    font-size: 15.5px;
    color: #F4F4F2!important;
    text-decoration: none;
    border-bottom: 1px solid rgba(244,244,242,.18)
}

.pes-footer__links a:hover {
    color: var(--pes-lime)!important
}

.pes-footer__social {
    display: flex;
    gap: 10px;
    margin-top: 18px
}

.pes-footer__social a {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: rgba(244,244,242,.12);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff!important;
    text-decoration: none
}

.pes-footer__social a:hover {
    background: var(--pes-lime);
    color: var(--pes-ink)!important
}

.pes-footer__copy {
    background: var(--pes-accent-950);
    padding: 20px 0;
    text-align: center;
    font-size: 13.5px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: rgba(244,244,242,.75)
}

.pes-footer__copy a {
    color: rgba(244,244,242,.75)!important
}

/* =========================================================
   HOMEPAGE
   ========================================================= */
/* hero */
.pes-hero {
    position: relative;
    overflow: hidden;
    background: var(--pes-accent-900)
}

.pes-hero__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.pes-hero__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg,rgba(11,32,24,.95) 0%,rgba(11,32,24,.86) 44%,rgba(11,32,24,.42) 100%);
    opacity: 0.56;
}

.pes-hero__grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,1.06fr) minmax(0,.94fr);
    gap: 56px;
    align-items: center;
    padding-top: 72px;
    padding-bottom: 80px
}

.pes-hero .pes-pill {
    margin-bottom: 24px
}

.pes-hero h1 {
    font-size: 68px;
    line-height: 1.03;
    letter-spacing: -.02em;
    margin: 0 0 24px;
    color: #fff;
    text-shadow: 0 2px 18px rgba(0,0,0,.35)
}

.pes-hero__lead {
    background: rgba(140,198,63,.16);
    border: 1px solid rgba(140,198,63,.5);
    border-radius: 22px;
    padding: 18px 26px;
    font-family: var(--pes-font-display);
    font-size: 22px;
    line-height: 1.3;
    color: #fff;
    max-width: 54ch
}

.pes-checks {
    list-style: none;
    margin: 26px 0 22px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 28px;
    font-size: 17px;
    color: #fff;
    font-weight: 600
}

.pes-checks li::before {
    content: "\2714";
    margin-right: 8px;
    color: #fff
}

.pes-hero__text {
    font-size: 17px;
    line-height: 1.7;
    max-width: 60ch;
    margin: 0 0 30px;
    color: rgba(244,244,242,.92)
}

.pes-btnrow {
    display: flex;
    flex-wrap: wrap;
    gap: 14px
}

.pes-hero__cred {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: 34px;
    padding: 16px 24px;
    background: rgba(244,244,242,.95);
    border-radius: 22px;
    max-width: 600px
}

.pes-hero__cred img {
    height: 58px;
    width: auto;
    flex: none
}

.pes-hero__cred div {
    font-size: 13.5px;
    line-height: 1.55;
    color: #14181A
}

.pes-hero__media {
    position: relative
}

.pes-hero__media figure {
    margin: 0;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(0,0,0,.4)
}

.pes-hero__media figure img {
    width: 100%;
    height: 470px;
    object-fit: cover;
    object-position: 50% 35%;
    display: block
}

.pes-hero__year {
    position: absolute;
    bottom: -28px;
    left: -24px;
    background: #fff;
    border-radius: 24px;
    padding: 20px 26px;
    display: flex;
    align-items: center;
    gap: 18px;
    box-shadow: 0 18px 40px rgba(0,0,0,.28)
}

.pes-hero__year b {
    font-family: var(--pes-font-display);
    font-size: 46px;
    line-height: .9;
    color: var(--pes-accent)
}

.pes-hero__year span {
    font-family: var(--pes-font-display);
    font-size: 15px;
    line-height: 1.25;
    letter-spacing: .05em;
    text-transform: uppercase;
    max-width: 15ch;
    color: #14181A
}

.pes-hero__flag {
    position: absolute;
    top: -18px;
    right: -14px;
    background: var(--pes-lime);
    color: var(--pes-ink);
    border-radius: 999px;
    padding: 12px 24px;
    font-family: var(--pes-font-display);
    font-size: 15px;
    letter-spacing: .08em;
    text-transform: uppercase;
    box-shadow: 0 12px 28px rgba(0,0,0,.25)
}

/* USP strip */
.pes-usp {
    background: var(--pes-accent-900);
    color: #F4F4F2
}

.pes-usp .pes-wrap {
    padding-top: 52px;
    padding-bottom: 52px
}

.pes-usp__grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr))
}

.pes-usp__item {
    padding: 0 30px;
    border-right: 1px solid rgba(244,244,242,.18)
}

.pes-usp__item:first-child {
    padding-left: 0
}

.pes-usp__item:last-child {
    padding-right: 0;
    border-right: 0
}

.pes-usp__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 999px;
    background: rgba(140,198,63,.16);
    border: 1px solid rgba(140,198,63,.45);
    color: var(--pes-lime);
    font-size: 26px;
    margin-bottom: 16px
}

.pes-usp h3 {
    font-size: 24px;
    margin: 0 0 10px;
    color: #F4F4F2
}

.pes-usp p {
    font-size: 14.5px;
    line-height: 1.6;
    opacity: .82
}

/* about / specialties */
.pes-about {
    background: var(--pes-bg)
}

.pes-about .pes-wrap {
    padding-top: 88px;
    padding-bottom: 88px
}

.pes-about__grid {
    display: grid;
    grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
    gap: 64px;
    align-items: start
}

.pes-about__photo {
    margin: 0;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid var(--pes-divider)
}

.pes-about__photo img {
    width: 100%;
    height: 729px;
    object-fit: cover;
    display: block
}

.pes-about__badge {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 22px
}

.pes-about__badge img {
    width: 62px;
    height: auto
}

.pes-about__badge span {
    font-family: var(--pes-font-display);
    font-size: 17px;
    line-height: 1.25;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--pes-accent)
}

.pes-about__intro {
    font-size: 20px;
    line-height: 1.6;
    margin: 0 0 44px!important;
    max-width: 64ch
}

.pes-spec {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 26px
}

.pes-spec__card {
    border: 1px solid var(--pes-divider);
    border-radius: 22px;
    background: #EAEAE6;
    padding: 16px;
    display: flex;
    flex-direction: column
}

.pes-spec__card--wide {
    grid-column: span 2;
    flex-direction: row;
    padding: 0;
    overflow: hidden
}

.pes-spec__card--wide .pes-spec__body {
    padding: 20px 22px;
    flex: 1
}

.pes-spec__card--wide img {
    width: 240px;
    object-fit: cover;
    flex: none;
    display: block
}

.pes-spec__kicker {
    font-size: 10px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--pes-lime-deep)
}

.pes-spec h4 {
    font-size: 22px;
    margin: 6px 0 8px
}

.pes-spec p {
    font-size: 14.5px;
    line-height: 1.6;
    opacity: .85
}

/* reviews */
.pes-reviews {
    background: var(--pes-accent-900);
    color: #F4F4F2
}

.pes-reviews .pes-wrap {
    padding-top: 80px;
    padding-bottom: 80px
}

.pes-reviews__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
    margin-bottom: 40px
}

.pes-reviews__head .pes-pill {
    margin-bottom: 18px
}

.pes-reviews h2, .pes-reviews .inner-header-reviews {
    font-size: 42px;
    line-height: 1.08;
    color: #fff;
    max-width: 26ch;
    font-family: Oswald !important;
}



.pes-reviews__since {
    display: flex;
    align-items: center;
    gap: 14px;
    background: rgba(244,244,242,.1);
    border: 1px solid rgba(244,244,242,.22);
    border-radius: 999px;
    padding: 14px 26px;
    font-family: var(--pes-font-display);
    font-size: 18px;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #fff
}

.pes-reviews__since .pes-icon {
    font-size: 22px;
    color: var(--pes-lime)
}

.pes-reviews__box {
    background: #fff;
    border-radius: 26px;
    padding: 28px;
    box-shadow: 0 18px 44px rgba(0,0,0,.28);
    color: var(--pes-text)
}

.pes-reviews .pes-btnrow {
    justify-content: center;
    margin-top: 32px;
    gap: 16px
}

/* services */
.pes-services {
    background: #fff;
    border-top: 1px solid var(--pes-divider);
    border-bottom: 1px solid var(--pes-divider)
}

.pes-services .pes-wrap {
    padding-top: 84px;
    padding-bottom: 84px
}

.pes-services__head {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: 64px;
    align-items: end;
    margin-bottom: 52px
}

.pes-services__head h2 {
    font-size: 44px;
    line-height: 1.06;
    max-width: 24ch
}

.pes-services__head p,.pes-diff__head p {
    font-size: 16.5px;
    line-height: 1.7;
    color: rgba(20,24,26,.85)
}

.pes-services__grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 36px;
    align-items: stretch
}

.pes-svc {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--pes-divider);
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 14px 36px rgba(20,24,26,.1)
}

.pes-svc__media {
    position: relative
}

.pes-svc__media img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    display: block
}

.pes-svc__icon {
    position: absolute;
    bottom: -34px;
    right: 32px;
    width: 78px;
    height: 78px;
    border-radius: 999px;
    background: var(--pes-lime);
    color: var(--pes-ink);
    font-size: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 12px 26px rgba(20,24,26,.28);
    border: 4px solid #fff
}

.pes-svc__body {
    padding: 30px 32px 32px;
    display: flex;
    flex-direction: column;
    flex: 1
}

.pes-svc h3 {
    font-size: 32px;
    margin: 0 0 18px
}

.pes-svc__scroll {
    height: 420px;
    overflow-y: auto;
    padding-right: 18px;
    scrollbar-width: thin;
    scrollbar-color: var(--pes-lime-deep) rgba(20,24,26,.12)
}

.pes-svc__scroll::-webkit-scrollbar {
    width: 8px
}

.pes-svc__scroll::-webkit-scrollbar-track {
    background: rgba(20,24,26,.1);
    border-radius: 999px
}

.pes-svc__scroll::-webkit-scrollbar-thumb {
    background: var(--pes-lime-deep);
    border-radius: 999px
}

.pes-svc__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 0 28px
}

.pes-svc__list li {
    display: flex;
    gap: 10px;
    padding: 11px 0;
    font-size: 15px;
    line-height: 1.35;
    border-bottom: 1px solid var(--pes-divider)
}

.pes-svc__list li::before {
    content: "+";
    color: var(--pes-lime-deep);
    flex: none;
    font-weight: 700
}

.pes-svc__list a {
    color: var(--pes-text)!important;
    text-decoration: none
}

.pes-svc__list a:hover {
    color: var(--pes-accent)!important
}

.pes-brands {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
    margin-top: 60px;
    padding-top: 44px;
    border-top: 1px solid var(--pes-divider);
    flex-wrap: wrap
}

.pes-brands span {
    font-family: var(--pes-font-display);
    font-size: 16px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(20,24,26,.55)
}

.pes-brands img {
    height: 68px;
    width: auto
}

/* membership / referral / financing */
.pes-perks {
    background: var(--pes-bg)
}

.pes-perks .pes-wrap {
    padding-top: 84px;
    padding-bottom: 84px
}

.pes-perks__grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 32px
}

.pes-perk {
    border: 1px solid var(--pes-divider);
    border-radius: 22px;
    overflow: hidden;
    padding: 34px 32px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: flex-start
}

.pes-perk--dark {
    background: var(--pes-accent);
    border-color: var(--pes-accent);
    color: #F4F4F2
}

.pes-perk--dark h3 {
    color: #fff
}

.pes-perk .pes-icon {
    font-size: 28px;
    color: var(--pes-accent)!important;
}

.pes-btn--green .pes-icon{
    color: white!important;
}

.pes-perk--dark .pes-icon {
    color: var(--pes-lime)
}

.pes-perk h3 {
    font-size: 29px
}

.pes-perk p {
    font-size: 15.5px;
    line-height: 1.65;
    opacity: .88;
    flex: 1
}

.pes-perk--media {
    padding: 0;
    gap: 0
}

.pes-perk--media img {
    width: 100%;
    height: 170px;
    object-fit: cover;
    display: block
}

.pes-perk__body {
    padding: 28px 25px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    flex: 1;
    align-items: flex-start;
    width: 100%
}

/* difference carousel */
.pes-diff {
    background: #fff;
    border-top: 1px solid var(--pes-divider)
}

.pes-diff .pes-wrap {
    padding-top: 84px;
    padding-bottom: 84px
}

.pes-diff__head {
    max-width: 82ch;
    margin-bottom: 48px
}

.pes-diff__head h2 {
    font-size: 42px;
    line-height: 1.08;
    margin: 0 0 18px;
    max-width: 34ch
}

.pes-diff__stage {
    position: relative
}

.pes-diff__viewport {
    overflow: hidden;
    padding: 6px
}

.pes-diff__track {
    display: flex;
    gap: 32px;
    transition: transform .5s cubic-bezier(.4,0,.2,1)
}

.pes-diff__card {
    flex: 0 0 calc((100% - 64px)/3);
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--pes-divider);
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 12px 32px rgba(20,24,26,.1)
}

.pes-diff__media {
    position: relative
}

.pes-diff__media img {
    width: 100%;
    height: 230px;
    object-fit: cover;
    display: block
}

.pes-diff__icon {
    position: absolute;
    bottom: -26px;
    left: 24px;
    width: 52px;
    height: 52px;
    border-radius: 999px;
    background: var(--pes-lime);
    color: var(--pes-ink);
    font-size: 23px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 22px rgba(20,24,26,.28)
}

.pes-diff__body {
    padding: 40px 26px 28px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1
}

.pes-diff__body h4 {
    font-size: 23px
}

.pes-diff__body p {
    font-size: 14.5px;
    line-height: 1.6;
    color: rgba(20,24,26,.82)
}

/* shared carousel controls */
.pes-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    border-radius: 999px;
    border: 2px solid var(--pes-accent);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    line-height: 1;
    z-index: 2;
    box-shadow: 0 8px 20px rgba(20,24,26,.16);
    transition: all .3s ease
}

.pes-arrow--prev {
    left: -26px;
    background: #fff;
    color: var(--pes-accent)
}

.pes-arrow--prev:hover {
    background: var(--pes-accent);
    color: #fff
}

.pes-arrow--next {
    right: -26px;
    background: var(--pes-accent);
    color: #fff
}

.pes-arrow--next:hover {
    background: var(--pes-lime);
    border-color: var(--pes-lime);
    color: var(--pes-ink)
}

.pes-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 30px
}

.pes-dots button {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    border: 0;
    padding: 0;
    cursor: pointer;
    background: rgba(20,24,26,.22);
    transition: all .3s ease
}

.pes-dots button.is-active {
    width: 38px;
    background: var(--pes-accent)
}

.pes-usp .pes-dots button {
    background: rgba(244,244,242,.3)
}

.pes-usp .pes-dots button.is-active {
    background: var(--pes-lime)
}

.pes-mctl {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 22px
}

.pes-mctl .pes-dots {
    margin-top: 0
}

.pes-mctl__btn {
    width: 46px;
    height: 46px;
    border-radius: 999px;
    border: 2px solid var(--pes-accent);
    background: #fff;
    color: var(--pes-accent);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    flex: none
}

.pes-mctl__btn--next {
    background: var(--pes-accent);
    color: #fff
}

.pes-usp .pes-mctl__btn {
    border-color: var(--pes-lime)
}

.pes-usp .pes-mctl__btn--next {
    background: var(--pes-lime);
    color: var(--pes-ink)
}

/* book */
.pes-book {
    background: var(--pes-accent);
    color: #F4F4F2
}

.pes-book .pes-wrap {
    padding-top: 84px;
    padding-bottom: 84px
}

.pes-book__grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: 44px;
    align-items: start
}

.pes-book__left {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.pes-book__left .pes-pill {
    margin-bottom: 18px
}

.pes-book h2 {
    font-size: 42px;
    line-height: 1.08;
    color: #fff;
    max-width: 24ch
}

.pes-book__map {
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 18px 44px rgba(0,0,0,.3);
    background: #fff
}

.pes-book__map iframe {
    width: 100%;
    height: 430px;
    border: 0;
    display: block
}

.pes-card-white {
    background: #fff;
    border-radius: 26px;
    box-shadow: 0 18px 44px rgba(0,0,0,.28);
    border-top: 8px solid var(--pes-lime);
    color: #14181A
}

.pes-zip {
    padding: 30px 32px
}

.pes-zip__title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 6px
}

.pes-zip__title .pes-icon {
    font-size: 24px;
    color: var(--pes-lime-deep)
}

.pes-zip h3 {
    font-size: 30px;
    color: #14181A
}

.pes-zip p {
    margin: 0 0 18px!important;
    font-size: 16px;
    color: #444
}

.pes-zip form {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center
}

.pes-zip input {
    flex: 1;
    min-width: 200px;
    height: 52px;
    padding: 0 20px;
    border-radius: 999px;
    border: 1px solid rgba(20,24,26,.2);
    background: #F4F4F2;
    font-family: var(--pes-font-body);
    font-size: 16px;
    color: #14181A
}

.pes-zip button {
    height: 52px;
    font-size: 16px;
    padding: 0 26px
}

.pes-zip__msg {
    margin-top: 14px;
    font-family: var(--pes-font-display);
    font-size: 16px;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: var(--pes-accent);
    min-height: 22px
}

.pes-sched {
    padding: 14px
}

.pes-sched h3 {
    font-size: 32px;
    margin: 22px 0 4px;
    text-align: center;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #14181A
}

.pes-sched p {
    margin: 0 0 6px;
    text-align: center;
    font-size: 15px;
    color: #444
}

.pes-sched iframe {
    width: 100%;
    height: 44em;
    border: none;
    border-radius: 18px;
    display: block
}

/* estimate CTA */
.pes-estimate {
    background: var(--pes-accent);
    color: #F4F4F2;
    border-top: 1px solid rgba(244,244,242,.12)
}

.pes-estimate__grid {
    display: grid;
    grid-template-columns: minmax(0,1.25fr) minmax(0,.75fr);
    gap: 56px;
    align-items: center;
    padding-top: 76px;
    padding-bottom: 76px
}

.pes-estimate h2 {
    font-size: 46px;
    line-height: 1.06;
    margin: 0 0 18px;
    color: #fff;
    max-width: 30ch
}

.pes-estimate p {
    margin: 0 0 32px!important;
    font-size: 17px;
    line-height: 1.7;
    opacity: .9;
    max-width: 66ch
}

.pes-estimate .pes-btnrow {
    gap: 16px
}

.pes-estimate__side {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 26px
}

.pes-estimate__side img {
    width: 132px;
    height: auto
}

.pes-estimate__box {
    border: 1px solid rgba(244,244,242,.4);
    border-radius: 22px;
    padding: 20px 24px
}

.pes-estimate__box small {
    display: block;
    font-family: var(--pes-font-display);
    font-size: 15px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--pes-lime);
    margin-bottom: 8px
}

.pes-estimate__box b {
    display: block;
    font-family: var(--pes-font-display);
    font-size: 26px;
    line-height: 1.15;
    color: #fff;
    max-width: 16ch;
    font-weight: 700
}

/* legacy */
.pes-legacy {
    background: var(--pes-accent-900);
    color: #F4F4F2
}

.pes-legacy .pes-wrap {
    padding-top: 88px;
    padding-bottom: 88px
}

.pes-legacy__head {
    text-align: center;
    max-width: 80ch;
    margin: 0 auto 56px
}

.pes-legacy__kicker {
    font-family: var(--pes-font-display);
    font-size: 18px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(244,244,242,.9);
    margin-bottom: 16px
}

.pes-legacy h2 {
    font-size: 52px;
    line-height: 1.06;
    margin: 0 0 24px;
    color: #fff
}

.pes-legacy h2 span {
    color: var(--pes-lime)
}

.pes-legacy__head p {
    font-size: 17px;
    line-height: 1.75;
    color: rgba(244,244,242,.85)
}

.pes-legacy__grid {
    display: grid;
    grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
    gap: 48px;
    align-items: start
}

.pes-legacy__steps {
    display: flex;
    flex-direction: column;
    gap: 26px
}

.pes-step {
    display: flex;
    flex-direction: column;
    gap: 14px;
    background: rgba(244,244,242,.06);
    border: 1px solid rgba(244,244,242,.2);
    border-radius: 26px;
    padding: 34px 30px 32px
}

.pes-step__num {
    display: flex;
    align-items: center;
    gap: 14px
}

.pes-step__num b {
    width: 52px;
    height: 52px;
    border-radius: 999px;
    background: var(--pes-lime);
    color: var(--pes-ink);
    font-family: var(--pes-font-display);
    font-size: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none
}

.pes-step__num span {
    height: 1px;
    flex: 1;
    background: rgba(244,244,242,.25)
}

.pes-step h3 {
    font-size: 27px;
    color: #fff
}

.pes-step p {
    font-size: 15.5px;
    line-height: 1.7;
    color: rgba(244,244,242,.86)
}

.pes-legacy__photo {
    margin: 0;
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 22px 50px rgba(0,0,0,.4);
    position: sticky;
    top: 40px
}

.pes-legacy__photo img {
    width: 100%;
    height: 100%;
    min-height: 620px;
    object-fit: cover;
    display: block
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1280px) {
    .pes-mainnav>ul {
        gap:4px 18px;
        font-size: 15px
    }

    .pes-header__logo img {
        height: 72px
    }

    .pes-hero h1 {
        font-size: 56px
    }
}

@media (max-width: 1100px) {
    .pes-topbar,.pes-header,header#masthead.pes-header {
        display:none!important
    }

    .pes-mhead {
        display: block
    }

    .pes-perks__grid{
        display: block;
        max-width: 600px;
        margin: auto;
    }

    .pes-perk{
        margin: 1em auto;
    }
}

@media (max-width: 900px) {
    .pes-wrap {
        padding-left:18px;
        padding-right: 18px
    }

    .pes-scope h1,.pes-hero h1 {
        font-size: 36px
    }

    .pes-scope h2,.pes-reviews h2,.pes-services__head h2,.pes-diff__head h2,.pes-book h2,.pes-estimate h2,.pes-legacy h2 {
        font-size: 28px
    }

    .pes-scope h3,.pes-svc h3,.pes-perk h3,.pes-zip h3,.pes-sched h3,.pes-step h3 {
        font-size: 23px
    }

    .pes-scope h4 {
        font-size: 20px
    }

    .pes-hero__grid,.pes-about__grid,.pes-services__head,.pes-services__grid,.pes-perks__grid,.pes-book__grid,.pes-estimate__grid,.pes-legacy__grid,.pes-footer__ctas,.pes-footer__cols {
        grid-template-columns: minmax(0,1fr);
        gap: 32px
    }

    .pes-hero__grid {
        padding-top: 40px;
        padding-bottom: 48px
    }

    .pes-hero__year,.pes-hero__flag {
        position: static;
        margin-top: 16px;
        box-shadow: none;
        display: inline-flex
    }

    .pes-hero__media figure img,.pes-about__photo img {
        height: auto;
        max-height: 420px
    }

    .pes-hero__cred {
        flex-wrap: wrap
    }

    .pes-about .pes-wrap,.pes-legacy .pes-wrap,.pes-services .pes-wrap,.pes-perks .pes-wrap,.pes-diff .pes-wrap,.pes-book .pes-wrap,.pes-reviews .pes-wrap {
        padding-top: 56px;
        padding-bottom: 56px
    }

    .pes-svc__scroll {
        height: 340px
    }

    .pes-svc__list {
        grid-template-columns: minmax(0,1fr)
    }

    .pes-brands {
        gap: 28px
    }

    .pes-estimate__side {
        justify-content: flex-start;
        flex-wrap: wrap
    }

    .pes-legacy__photo {
        position: static
    }

    .pes-legacy__photo img {
        min-height: 0;
        max-height: 420px
    }

    .pes-sched iframe {
        height: 46em;
    }

    .pes-footer__cta b {
        font-size: 24px
    }

    /* mobile carousels */
    .pes-js-mcar {
        display: flex!important;
        flex-wrap: nowrap;
        overflow: hidden;
        gap: 0!important
    }

    .pes-js-mcar>* {
        flex: 0 0 100%!important;
        max-width: 100%;
        border-right: 0!important;
        padding-left: 0!important;
        padding-right: 0!important;
        grid-column: auto!important
    }

    .pes-js-mcar>*:first-child {
        transition: margin-left .45s cubic-bezier(.4,0,.2,1)
    }

    .pes-spec__card {
        padding: 16px!important;
        height: 13em!important;
    }

    .pes-spec__card img{
        display: none;
    }

    .pes-spec__card--wide {
        flex-direction: column;
        padding: 0!important
    }

    .pes-spec__card--wide img {
        width: 100%;
        height: 200px
    }

    .pes-diff__track {
        gap: 0;
        transform: none!important
    }

    .pes-diff__card {
        flex: 0 0 100%
    }

    .pes-arrow,.pes-diff .pes-dots--desk {
        display: none
    }

    .pes-mctl {
        display: flex
    }
}

/* =========================================================
   STICKY HEADER
   custom.css sets .site{overflow:hidden}, which disables
   position:sticky for anything inside it; overflow:clip keeps
   the same clipping without creating a scroll container.
   ========================================================= */
#page.site {
    overflow: clip
}

.pes-site-head {
    position: sticky;
    top: 0;
    z-index: 1000
}

body.admin-bar .pes-site-head {
    top: 32px
}

.pes-home section[id] {
    scroll-margin-top: 230px
}

.pes-mmenu.is-open {
    max-height: calc(100vh - 170px);
    overflow-y: auto
}

@media (max-width: 782px) {
    body.admin-bar .pes-site-head {
        top:46px
    }
}

@media (max-width: 1100px) {
    .pes-home section[id] {
        scroll-margin-top:150px
    }
}

@media (max-width: 600px) {
    body.admin-bar .pes-site-head {
        top:0
    }
}
