:root{--p22-ink:#171717;--p22-charcoal:#242629;--p22-cream:#fbfaf6;--p22-line:#ddd8ce;--p22-muted:#6f6a61;--p22-gold:#b99046;--p22-gold-light:#d8bd7b;--p22-shadow:0 28px 70px rgba(20,20,20,.13)}
body.pro22-headless-theme{background:radial-gradient(circle at 15% 0,rgba(185,144,70,.13),transparent 34rem),linear-gradient(180deg,#fbfaf6,#f2f0eb 48%,#fbfaf6);font-weight:400;letter-spacing:-.006em;overflow-x:hidden}
.pro22-section{padding:96px 20px}.pro22-alignwide{max-width:1720px;margin:auto}.pro22-aligncontent{max-width:1180px;margin:auto}
.pro22-eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:20px;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:400;color:rgba(255,255,255,.82)}.pro22-eyebrow:before{content:"";width:48px;height:1px;background:linear-gradient(90deg,var(--p22-gold-light),transparent)}
.pro22-section-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.45rem,4.1vw,5rem);line-height:1;letter-spacing:-.052em;font-weight:400;color:var(--p22-charcoal)}
.pro22-copy{color:var(--p22-muted);font-size:1.05rem;line-height:1.8;font-weight:300}.btn-pro22-gold{border-radius:0!important;min-height:48px;padding:.72rem 1.35rem;font-weight:500;background:linear-gradient(135deg,var(--p22-gold-light),var(--p22-gold));border:1px solid var(--p22-gold);color:#171717;box-shadow:0 12px 28px rgba(185,144,70,.22)}
.pro22-quote-panel{max-width:1720px;margin:auto;background:linear-gradient(90deg,rgba(20,20,20,.82),rgba(20,20,20,.58)),var(--p22-charcoal);color:#fff;padding:clamp(28px,5vw,76px);box-shadow:var(--p22-shadow)}.pro22-form{background:rgba(251,250,246,.96);color:var(--p22-ink);padding:34px;border:1px solid rgba(185,144,70,.24);border-top:3px solid var(--p22-gold);box-shadow:0 18px 55px rgba(0,0,0,.2)}.pro22-form label{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:400}.pro22-form .form-control,.pro22-form .form-select{border-radius:0;border-color:var(--p22-line);padding:.88rem 1rem;font-weight:300}
.pro22-contact-tab{position:fixed;z-index:1100;left:0;top:50%;display:flex;align-items:center;transform:translate(calc(-100% + 50px),-50%);transition:transform .45s cubic-bezier(.16,1,.3,1)}.pro22-contact-tab:hover,.pro22-contact-tab.is-open,.pro22-contact-tab:focus-within{transform:translate(0,-50%)}.pro22-contact-toggle{order:2;width:50px;min-height:136px;display:flex;align-items:center;justify-content:center;padding:0;background:linear-gradient(135deg,var(--p22-gold-light),var(--p22-gold));border:1px solid rgba(115,88,42,.32);box-shadow:0 18px 42px rgba(20,20,20,.18);writing-mode:vertical-rl;text-orientation:mixed;color:#171717}.pro22-contact-toggle span{display:flex;align-items:center;justify-content:center;gap:12px;transform:rotate(180deg);font-size:.68rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.pro22-contact-panel{order:1;width:228px;padding:7px;display:grid;grid-template-columns:1fr 1fr;gap:6px;background:rgba(251,250,246,.96);border:1px solid rgba(185,144,70,.28);box-shadow:0 18px 42px rgba(20,20,20,.16);backdrop-filter:blur(14px)}.pro22-contact-panel .btn{display:flex;align-items:center;justify-content:center;text-align:center;min-height:38px;padding:.48rem .55rem;font-size:.8rem;border-radius:0}.pro22-contact-panel .btn-full{grid-column:1/-1}
.pro22-locations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.pro22-location-card{padding:14px;border:1px solid var(--p22-line);background:#fff;text-decoration:none;color:var(--p22-ink)}
@media(max-width:767px){.pro22-section{padding:72px 16px}.pro22-form{padding:22px}.pro22-contact-tab{transform:translate(calc(-100% + 46px),-50%)}.pro22-contact-toggle{width:46px;min-height:126px}.pro22-contact-panel{width:214px}}


.pro22-demo-hero{position:relative;box-shadow:var(--p22-shadow)}
.pro22-demo-hero:after{content:"";position:absolute;inset:18px;border:1px solid rgba(216,189,123,.38);pointer-events:none}
.pro22-kicker{color:#73582a;text-transform:uppercase;letter-spacing:.2em;font-size:.78rem;font-weight:500;margin-bottom:14px}
.pro22-editorial-image img{height:620px;width:100%;object-fit:cover;border:1px solid rgba(185,144,70,.28);outline:1px solid rgba(255,255,255,.7);outline-offset:-10px;box-shadow:var(--p22-soft-shadow)}
.pro22-portfolio-gallery img{border:1px solid rgba(185,144,70,.28);outline:1px solid rgba(255,255,255,.62);outline-offset:-8px}
.pro22-site-header{padding:18px 20px;border-bottom:1px solid var(--p22-line);background:rgba(251,250,246,.92);position:sticky;top:0;z-index:50;backdrop-filter:blur(16px)}
.pro22-footer{padding:46px 20px;background:#161718;color:rgba(255,255,255,.72)}


/* React headless front page */
.pro22-react-headless-body{background:#fbfaf6;color:var(--p22-ink);font-weight:400;letter-spacing:-.006em;overflow-x:hidden}
.pro22-react-loading{padding:80px 20px;text-align:center}
.pro22-react-header{position:sticky;top:0;z-index:1000;background:rgba(251,250,246,.92);border-bottom:1px solid var(--p22-line);backdrop-filter:blur(16px)}
.pro22-react-nav{max-width:1720px;margin:auto;min-height:82px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.pro22-react-brand img{width:112px;height:auto;mix-blend-mode:multiply}
.pro22-react-nav nav{display:flex;align-items:center;gap:24px}.pro22-react-nav nav a{color:var(--p22-charcoal);text-decoration:none;font-weight:400}
.pro22-react-hero{min-height:760px;max-width:1720px;margin:26px auto 0;background-size:cover;background-position:center;display:flex;align-items:center;box-shadow:var(--p22-shadow);border:1px solid rgba(216,189,123,.32);outline:1px solid rgba(255,255,255,.16);outline-offset:-10px}
.pro22-react-hero-inner{max-width:760px;padding:clamp(32px,5vw,84px);color:#fff}.pro22-react-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.2rem,6.2vw,7.8rem);line-height:.92;letter-spacing:-.055em;font-weight:400;margin:0;text-wrap:balance;text-shadow:0 18px 48px rgba(0,0,0,.28)}
.pro22-react-editorial-img{height:620px;width:100%;object-fit:cover;border:1px solid rgba(185,144,70,.28);outline:1px solid rgba(255,255,255,.7);outline-offset:-10px;box-shadow:var(--p22-soft-shadow)}
.pro22-react-card{height:100%;background:#fff;border:1px solid rgba(221,216,206,.95);outline:1px solid rgba(255,255,255,.72);outline-offset:-8px;padding:34px 28px;transition:.28s;position:relative;overflow:hidden}.pro22-react-card:hover{transform:translateY(-8px);box-shadow:0 26px 62px rgba(20,20,20,.12);border-color:rgba(185,144,70,.44)}.pro22-react-card h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}
.pro22-react-filter{display:flex;flex-wrap:wrap;gap:8px}.pro22-react-portfolio{position:relative;overflow:hidden;background:#111;min-height:360px;border:1px solid rgba(185,144,70,.28);outline:1px solid rgba(255,255,255,.62);outline-offset:-9px;box-shadow:var(--p22-soft-shadow)}.pro22-react-portfolio img{width:100%;height:100%;min-height:360px;object-fit:cover;transition:.45s;filter:saturate(.92)}.pro22-react-portfolio:hover img{transform:scale(1.055);filter:saturate(1.02)}.pro22-react-portfolio div{position:absolute;inset:auto 0 0;padding:48px 24px 22px;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.74),transparent)}.pro22-react-portfolio small{color:var(--p22-gold-light);text-transform:uppercase;letter-spacing:.2em}.pro22-react-portfolio h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}
.pro22-react-footer{padding:46px 20px;background:#161718;color:rgba(255,255,255,.72)}
@media(max-width:991px){.pro22-react-nav nav{display:none}.pro22-react-hero{min-height:680px;margin-top:12px}.pro22-react-editorial-img{height:520px}}
@media(max-width:767px){.pro22-react-brand img{width:88px}.pro22-react-hero{min-height:640px}.pro22-react-hero h1{font-size:3.25rem}.pro22-react-hero-inner{padding:34px 20px}.pro22-react-portfolio,.pro22-react-portfolio img{min-height:310px}}


/* Pro22 React Home v2 refined */
.pro22-react-headless-body{background:radial-gradient(circle at 8% 0,rgba(185,144,70,.11),transparent 32rem),linear-gradient(180deg,#fbfaf6,#f4f1ea 50%,#fbfaf6);color:var(--p22-ink);font-weight:400;letter-spacing:-.006em;overflow-x:hidden}
.pro22-react-header{position:sticky;top:0;z-index:1000;background:rgba(251,250,246,.93);border-bottom:1px solid rgba(221,216,206,.76);backdrop-filter:blur(18px)}
.pro22-react-top{max-width:1720px;margin:auto;min-height:30px;padding:6px 20px;display:flex;justify-content:space-between;gap:16px;color:var(--p22-muted);font-size:.78rem;border-bottom:1px solid rgba(221,216,206,.5)}
.pro22-react-nav{max-width:1720px;margin:auto;min-height:78px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.pro22-react-brand img{width:108px;height:auto;mix-blend-mode:multiply}
.pro22-react-nav nav{display:flex;align-items:center;gap:28px}.pro22-react-nav nav a{color:var(--p22-charcoal);text-decoration:none;font-size:.9rem;font-weight:400}.pro22-react-nav nav a:hover{color:var(--p22-gold-dark)}
.pro22-react-hero-v2{padding:22px 20px 62px}.pro22-react-hero-main{position:relative;min-height:780px;max-width:1720px;margin:auto;background-size:cover;background-position:center;display:flex;align-items:center;box-shadow:var(--p22-shadow);border:1px solid rgba(216,189,123,.32);outline:1px solid rgba(255,255,255,.16);outline-offset:-10px;overflow:hidden}.pro22-react-hero-main:before{content:"";position:absolute;inset:18px;border:1px solid rgba(216,189,123,.38);pointer-events:none;z-index:2}
.pro22-react-hero-inner{max-width:840px;padding:clamp(34px,5vw,88px);color:#fff;position:relative;z-index:3}.pro22-react-hero-inner h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.4rem,6.7vw,8.6rem);line-height:.88;letter-spacing:-.058em;font-weight:400;margin:0;text-shadow:0 20px 54px rgba(0,0,0,.32)}
.pro22-react-hero-inner .pro22-copy{max-width:680px;color:rgba(255,255,255,.78);font-size:1.14rem;line-height:1.75}.pro22-hero-note{position:absolute;right:34px;bottom:34px;z-index:4;max-width:370px;padding:22px 24px;background:rgba(251,250,246,.9);border:1px solid rgba(185,144,70,.34);border-top:3px solid var(--p22-gold);box-shadow:0 18px 44px rgba(0,0,0,.22)}.pro22-hero-note strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:1.35rem}.pro22-hero-note span{display:block;margin-top:5px;color:var(--p22-muted);font-size:.9rem}
.pro22-trust-strip{max-width:1720px;margin:-34px auto 0;position:relative;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0 16px}.pro22-trust-pill{background:rgba(251,250,246,.96);border:1px solid rgba(185,144,70,.24);box-shadow:0 12px 34px rgba(20,20,20,.08);padding:17px 18px;color:var(--p22-charcoal);font-size:.92rem}.pro22-trust-pill span{display:block;color:var(--p22-gold-dark);font-size:.74rem;letter-spacing:.16em;margin-bottom:5px}
.pro22-editorial-band{padding-top:118px}.pro22-react-section-head{max-width:760px}.pro22-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}.pro22-mini-stats div{background:#fff;border:1px solid rgba(185,144,70,.22);padding:20px}.pro22-mini-stats strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:2rem;line-height:1}.pro22-mini-stats span{display:block;color:var(--p22-muted);font-size:.84rem;margin-top:6px;text-transform:uppercase;letter-spacing:.12em}
.pro22-react-service{height:100%;background:#fff;border:1px solid rgba(221,216,206,.95);outline:1px solid rgba(255,255,255,.72);outline-offset:-8px;padding:32px 26px;transition:.28s;position:relative;overflow:hidden}.pro22-react-service:before{content:"";position:absolute;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--p22-gold),var(--p22-gold-light));transition:.28s}.pro22-react-service:hover{transform:translateY(-8px);box-shadow:0 26px 62px rgba(20,20,20,.12);border-color:rgba(185,144,70,.44)}.pro22-react-service:hover:before{width:100%}.pro22-react-service i{width:54px;height:54px;display:grid;place-items:center;margin-bottom:24px;color:var(--p22-gold-dark);border:1px solid rgba(185,144,70,.36);background:linear-gradient(180deg,rgba(216,189,123,.18),rgba(255,255,255,.66));font-size:1.35rem}.pro22-react-service h3{font-family:Georgia,serif;font-size:1.7rem;font-weight:400;letter-spacing:-.035em}.pro22-react-service p{color:var(--p22-muted);font-weight:300;line-height:1.7}.pro22-react-service a{color:var(--p22-charcoal);text-decoration:none;border-bottom:1px solid var(--p22-gold)}
.pro22-process-panel{background:#fff;border:1px solid rgba(185,144,70,.24);outline:1px solid rgba(255,255,255,.7);outline-offset:-8px;box-shadow:var(--p22-soft-shadow);padding:28px}.pro22-process-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.pro22-process-tabs button{border:1px solid var(--p22-line);background:#f7f5f0;padding:11px 18px;font-size:.88rem}.pro22-process-tabs button.active{background:linear-gradient(135deg,var(--p22-gold-light),var(--p22-gold));border-color:var(--p22-gold);color:#171717}.pro22-process-img{width:100%;height:430px;object-fit:cover;border:1px solid rgba(185,144,70,.24)}
.pro22-portfolio-masonry .pro22-tall .pro22-react-portfolio,.pro22-portfolio-masonry .pro22-tall .pro22-react-portfolio img{min-height:510px}.pro22-react-portfolio{position:relative;overflow:hidden;background:#111;min-height:360px;border:1px solid rgba(185,144,70,.28);outline:1px solid rgba(255,255,255,.62);outline-offset:-9px;box-shadow:var(--p22-soft-shadow)}.pro22-react-portfolio img{width:100%;height:100%;min-height:360px;object-fit:cover;transition:.55s;filter:saturate(.92)}.pro22-react-portfolio:hover img{transform:scale(1.06);filter:saturate(1.04)}.pro22-react-portfolio div{position:absolute;inset:auto 0 0;padding:58px 24px 22px;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.76),transparent)}.pro22-react-portfolio small{color:var(--p22-gold-light);text-transform:uppercase;letter-spacing:.2em}.pro22-react-portfolio h3{font-family:Georgia,serif;font-weight:400;font-size:1.55rem}
.pro22-react-filter{display:flex;flex-wrap:wrap;gap:8px}.pro22-react-footer{padding:46px 20px;background:#161718;color:rgba(255,255,255,.72)}
.pro22-location-card{font-size:.9rem;transition:.2s}.pro22-location-card:hover{border-color:var(--p22-gold);transform:translateY(-2px)}
.pro22-kicker{color:#73582a;text-transform:uppercase;letter-spacing:.2em;font-size:.78rem;font-weight:500;margin-bottom:14px}
@media(max-width:1199px){.pro22-react-hero-main{min-height:710px}.pro22-trust-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:991px){.pro22-react-nav nav{display:none}.pro22-react-hero-v2{padding:12px}.pro22-react-hero-main{min-height:700px}.pro22-hero-note{left:26px;right:26px;bottom:26px;max-width:none}.pro22-react-hero-inner{padding-bottom:190px}.pro22-editorial-band{padding-top:82px}.pro22-react-editorial-img{height:520px}.pro22-process-img{height:340px}}
@media(max-width:767px){.pro22-react-top{display:none}.pro22-react-brand img{width:86px}.pro22-react-nav{min-height:72px}.pro22-react-hero-main{min-height:660px}.pro22-react-hero-inner h1{font-size:3.3rem}.pro22-react-hero-inner .pro22-copy{font-size:1rem}.pro22-trust-strip{grid-template-columns:1fr;margin-top:12px;padding:0}.pro22-trust-pill{padding:14px}.pro22-mini-stats{grid-template-columns:1fr}.pro22-portfolio-masonry .pro22-tall .pro22-react-portfolio,.pro22-portfolio-masonry .pro22-tall .pro22-react-portfolio img,.pro22-react-portfolio,.pro22-react-portfolio img{min-height:310px}.pro22-react-editorial-img{height:440px}.pro22-section{padding:72px 16px}}


/* Normal pages use classic header/footer, not the React app */
.pro22-normal-page-body{background:#fbfaf6;color:var(--p22-ink)}
.pro22-normal-header{position:sticky;top:0;z-index:900;background:rgba(251,250,246,.94);border-bottom:1px solid rgba(221,216,206,.76);backdrop-filter:blur(16px)}
.pro22-normal-nav{max-width:1720px;margin:auto;min-height:82px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:22px}.pro22-normal-brand img{width:108px;height:auto;mix-blend-mode:multiply}.pro22-normal-menu{display:flex;align-items:center;gap:24px}.pro22-normal-menu a{color:var(--p22-charcoal);text-decoration:none;font-size:.9rem}.pro22-normal-main{padding:92px 20px}.pro22-normal-article{background:#fff;border:1px solid rgba(185,144,70,.22);padding:clamp(28px,5vw,72px);box-shadow:var(--p22-soft-shadow)}.pro22-normal-title{margin-bottom:38px}.pro22-normal-content{font-size:1.05rem;line-height:1.8;color:var(--p22-muted)}.pro22-normal-footer{background:#161718;color:rgba(255,255,255,.72);padding:46px 20px}@media(max-width:767px){.pro22-normal-menu{display:none}.pro22-normal-brand img{width:86px}.pro22-normal-main{padding:62px 16px}.pro22-normal-article{padding:28px 20px}}


/* Admin/Gutenberg WP BBuilder demo visual helpers */
.pro22-admin-service{background:#fff;border:1px solid rgba(185,144,70,.22);padding:28px!important;box-shadow:var(--p22-soft-shadow)}
.pro22-admin-service h3{font-family:Georgia,serif;font-weight:400;letter-spacing:-.03em}
.pro22-admin-accordion{border:1px solid rgba(185,144,70,.22);background:#fff}


/* v4 contact icons and modal gallery */
.pro22-react-contact-link{display:inline-flex;align-items:center;gap:8px;color:var(--p22-muted);text-decoration:none}
.pro22-react-contact-link i{width:26px;height:26px;display:grid;place-items:center;color:var(--p22-gold-dark);border:1px solid rgba(185,144,70,.35);background:rgba(216,189,123,.12)}
.pro22-react-contact-link span{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--p22-muted)}
.pro22-react-contact-link strong{font-weight:500;color:var(--p22-charcoal)}
.pro22-react-portfolio{display:block;width:100%;text-align:left;border:1px solid rgba(185,144,70,.28);padding:0;cursor:pointer}
.pro22-gallery-hint{display:inline-block;margin-top:8px;color:rgba(255,255,255,.74);font-size:.78rem;border-bottom:1px solid var(--p22-gold-light)}
.pro22-gallery-modal{position:fixed;z-index:5000;inset:0;background:rgba(12,12,12,.88);display:grid;place-items:center;padding:clamp(18px,4vw,54px);backdrop-filter:blur(10px)}
.pro22-gallery-modal figure{position:relative;margin:0;max-width:min(1180px,92vw);max-height:88vh;background:#111;border:1px solid rgba(216,189,123,.42);box-shadow:0 30px 90px rgba(0,0,0,.46)}
.pro22-gallery-modal img{width:100%;max-height:78vh;object-fit:contain;background:#111}
.pro22-gallery-modal figcaption{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;color:#fff;background:#151515}
.pro22-gallery-modal figcaption small{color:var(--p22-gold-light);text-transform:uppercase;letter-spacing:.18em}
.pro22-gallery-modal figcaption strong{font-family:Georgia,serif;font-weight:400;font-size:1.25rem}
.pro22-gallery-close,.pro22-gallery-nav{position:fixed;z-index:5001;border:1px solid rgba(216,189,123,.4);background:rgba(251,250,246,.92);color:#171717;display:grid;place-items:center}
.pro22-gallery-close{top:22px;right:22px;width:48px;height:48px;font-size:2rem;line-height:1}
.pro22-gallery-nav{top:50%;transform:translateY(-50%);width:54px;height:72px;font-size:3rem;line-height:1}
.pro22-gallery-prev{left:22px}.pro22-gallery-next{right:22px}
@media(max-width:767px){.pro22-react-contact-link span{display:none}.pro22-gallery-nav{width:44px;height:58px;font-size:2.2rem}.pro22-gallery-prev{left:8px}.pro22-gallery-next{right:8px}.pro22-gallery-close{top:12px;right:12px}}
/* Location/basic page extra block header/footer */
.pro22-extra-block-header,.pro22-extra-block-footer{border:1px solid rgba(185,144,70,.22);background:#fff;padding:22px 24px;margin:0 0 28px;box-shadow:var(--p22-soft-shadow)}
.pro22-extra-block-header .pro22-kicker,.pro22-extra-block-footer .pro22-kicker{margin-bottom:8px}
.pro22-extra-block-footer{margin:36px 0 0}


/* v4 normal header contact icons */
.pro22-normal-contact-bar{max-width:1720px;margin:auto;display:flex;justify-content:flex-end;gap:18px;padding:7px 20px;border-bottom:1px solid rgba(221,216,206,.5);font-size:.82rem}
.pro22-normal-contact-bar a{display:inline-flex;align-items:center;gap:7px;color:var(--p22-muted);text-decoration:none}
.pro22-normal-contact-bar i{width:24px;height:24px;display:grid;place-items:center;color:var(--p22-gold-dark);border:1px solid rgba(185,144,70,.35);background:rgba(216,189,123,.12)}
.pro22-normal-contact-bar span{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}.pro22-normal-contact-bar strong{font-weight:500;color:var(--p22-charcoal)}
.pro22-location-meta{margin-top:28px;padding:20px;border:1px solid rgba(185,144,70,.22);background:#fbfaf6}.pro22-location-meta pre{white-space:pre-wrap;font-size:.82rem;max-height:360px;overflow:auto}
@media(max-width:767px){.pro22-normal-contact-bar{display:none}}


/* v5 modal gallery alignment fix */
.pro22-gallery-modal{box-sizing:border-box}
.pro22-gallery-modal *{box-sizing:border-box}
.pro22-gallery-close{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  text-align:center!important;
  font-family:Georgia,serif!important;
}
.pro22-gallery-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  text-align:center!important;
  font-family:Georgia,serif!important;
  font-weight:400!important;
}
.pro22-gallery-prev{padding-right:3px!important}
.pro22-gallery-next{padding-left:3px!important}
.pro22-react-portfolio:focus{outline:2px solid var(--p22-gold);outline-offset:3px}


/* v6 SEO fallback, core gallery and form/captcha safety */
.pro22-seo-fallback{max-width:1180px;margin:40px auto;padding:32px;background:#fff;border:1px solid rgba(185,144,70,.22)}
.pro22-seo-fallback nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.pro22-seo-fallback nav a{color:var(--p22-charcoal);text-decoration:none;border-bottom:1px solid var(--p22-gold)}
.pro22-portfolio-gallery a{display:block}
.pro22-portfolio-gallery img{cursor:zoom-in}
.h-captcha,.hcaptcha,.g-recaptcha{margin-top:14px;min-height:78px}


/* v7 requested layout refinements */
.pro22-contact-toggle span{letter-spacing:.18em}
.pro22-react-service-image{padding:0!important}
.pro22-react-service-image>img{width:100%;height:240px;object-fit:cover;display:block;filter:saturate(.95);transition:.45s}
.pro22-react-service-image:hover>img{transform:scale(1.025)}
.pro22-service-body{padding:30px 26px}
.pro22-service-body i{margin-top:-58px;background:rgba(251,250,246,.96)!important;position:relative}
.pro22-portfolio-masonry{--bs-gutter-x:1rem!important;--bs-gutter-y:1rem!important}
.pro22-portfolio-masonry .pro22-tall .pro22-react-portfolio,
.pro22-portfolio-masonry .pro22-tall .pro22-react-portfolio img,
.pro22-react-portfolio,
.pro22-react-portfolio img{min-height:360px!important;height:360px!important}
.pro22-react-portfolio{display:block}
.pro22-react-portfolio img{object-fit:cover}
.pro22-quote-full{position:relative;padding:110px 20px 0;background-size:cover;background-position:center;color:#fff;margin-top:60px}
.pro22-quote-full:after{content:"";display:block;height:0}
.pro22-form-shell{background:rgba(251,250,246,.97);color:var(--p22-ink);padding:clamp(20px,3vw,36px);border:1px solid rgba(185,144,70,.28);border-top:3px solid var(--p22-gold);box-shadow:0 24px 70px rgba(0,0,0,.22)}
.pro22-form-shell .wpbb-dynamic-form-wrap,
.pro22-form-shell form{background:transparent!important;box-shadow:none!important;border:0!important;margin:0!important;padding:0!important}
.pro22-form-shell label{color:var(--p22-charcoal)}
.pro22-form-shell .h-captcha,
.pro22-form-shell .hcaptcha{display:block;min-height:78px;margin-top:14px}
.pro22-react-footer{margin-top:0!important;background:#111!important;border-top:1px solid rgba(216,189,123,.25)}
@media(max-width:991px){.pro22-quote-full{padding:80px 16px 0}.pro22-react-service-image>img{height:220px}}
@media(max-width:767px){.pro22-portfolio-masonry{--bs-gutter-x:.75rem!important;--bs-gutter-y:.75rem!important}.pro22-portfolio-masonry .pro22-tall .pro22-react-portfolio,.pro22-portfolio-masonry .pro22-tall .pro22-react-portfolio img,.pro22-react-portfolio,.pro22-react-portfolio img{min-height:300px!important;height:300px!important}.pro22-quote-full{padding:70px 12px 0}}


/* v8 refinements */
.btn-pro22-gold,
.pro22-react-hero-inner .btn,
.pro22-contact-panel .btn,
.pro22-react-filter .btn,
.pro22-process-tabs button{display:inline-flex;align-items:center;justify-content:center}
.pro22-trust-pill{display:flex;flex-direction:column;justify-content:center;min-height:90px}
.pro22-trust-pill:last-child{background:linear-gradient(135deg,var(--p22-gold-light),var(--p22-gold));color:#171717}
.pro22-trust-pill:last-child span{color:#5f471f}
.pro22-mini-stats div{text-align:left}
.pro22-mini-stats strong{font-size:2.25rem}
.pro22-react-service{border-color:rgba(221,216,206,.95)}
.pro22-react-service:after{content:"";position:absolute;inset:12px;border:1px solid rgba(185,144,70,0);transition:.32s;pointer-events:none}
.pro22-react-service:hover:after{border-color:rgba(185,144,70,.42)}
.pro22-react-service:hover .pro22-service-body i{transform:translateY(-2px)}
.pro22-service-body i{transition:transform .3s ease, box-shadow .3s ease;box-shadow:0 8px 20px rgba(185,144,70,.12)}
.pro22-process-panel{padding:32px 32px 40px}
.pro22-process-tabs button{min-width:118px;justify-content:center}
.pro22-process-img{height:520px}
.pro22-quote-full{padding:110px 20px 110px;background-size:cover;background-position:center;color:#fff;margin-top:60px}
.pro22-form-shell{min-height:100%;display:block}
.pro22-react-footer{padding:38px 20px 48px;background:linear-gradient(180deg,#111,#171717)!important}
@media (max-width:991px){.pro22-process-img{height:400px}.pro22-quote-full{padding:80px 16px 80px}}
@media (max-width:767px){.pro22-trust-pill{min-height:72px}.pro22-process-img{height:320px}.pro22-quote-full{padding:70px 12px 70px}}

.pro22-service-body{display:flex;flex-direction:column;height:100%}
.pro22-service-body a{margin-top:auto;align-self:flex-start}
.pro22-react-service-image{display:flex;flex-direction:column;height:100%}
.pro22-react-service-image>img{flex:0 0 auto}
.pro22-hero-note strong,.pro22-hero-note span{display:block}


/* v9 FAQ section */
.pro22-faq-section{padding-top:40px}
.pro22-faq-accordion{border:1px solid rgba(185,144,70,.24);box-shadow:var(--p22-soft-shadow)}
.pro22-faq-accordion .accordion-item{border:0;border-bottom:1px solid rgba(221,216,206,.85);background:#fff}
.pro22-faq-accordion .accordion-item:last-child{border-bottom:0}
.pro22-faq-accordion .accordion-button{border-radius:0!important;background:#fff;color:var(--p22-charcoal);font-family:Georgia,'Times New Roman',serif;font-size:1.22rem;font-weight:400;letter-spacing:-.025em;min-height:68px;box-shadow:none!important;padding:1.15rem 1.35rem}
.pro22-faq-accordion .accordion-button:not(.collapsed){background:linear-gradient(90deg,rgba(216,189,123,.18),#fff);color:#171717}
.pro22-faq-accordion .accordion-button:focus{box-shadow:inset 0 0 0 1px rgba(185,144,70,.38)!important}
.pro22-faq-accordion .accordion-body{color:var(--p22-muted);font-weight:300;line-height:1.75;padding:0 1.35rem 1.35rem}
@media(max-width:767px){.pro22-faq-section{padding-top:24px}.pro22-faq-accordion .accordion-button{font-size:1.06rem;min-height:60px}}


/* v15 hero proportion refinement */
.pro22-react-hero-inner h1{
  font-size:clamp(2.85rem,5.25vw,6.55rem)!important;
  line-height:.93!important;
  max-width:980px;
}
.pro22-hero-note{
  bottom:clamp(78px,8.5vw,132px)!important;
  margin-bottom:0!important;
}
@media(max-width:1199px){
  .pro22-react-hero-inner h1{font-size:clamp(2.7rem,6vw,5.35rem)!important}
  .pro22-hero-note{bottom:74px!important}
}
@media(max-width:991px){
  .pro22-hero-note{
    bottom:28px!important;
    margin-bottom:0!important;
  }
  .pro22-react-hero-inner{padding-bottom:210px!important}
}
@media(max-width:767px){
  .pro22-react-hero-inner h1{font-size:2.75rem!important;line-height:.98!important}
  .pro22-react-hero-inner{padding-bottom:210px!important}
}


/* v18 menu, footer socials, image/SEO refinements */
.pro22-react-nav{position:relative}
.pro22-react-nav nav.pro22-react-menu{display:flex;align-items:center;gap:clamp(18px,2vw,34px)}
.pro22-react-nav nav.pro22-react-menu a{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;font-weight:500;text-decoration:none;position:relative;padding:8px 0}
.pro22-react-nav nav.pro22-react-menu a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--p22-gold);transition:right .28s ease}
.pro22-react-nav nav.pro22-react-menu a:hover:after{right:0}
.pro22-mobile-menu-toggle{display:none;width:44px;height:44px;border:1px solid rgba(185,144,70,.32);background:rgba(251,250,246,.92);align-items:center;justify-content:center;flex-direction:column;gap:5px}
.pro22-mobile-menu-toggle span{display:block;width:20px;height:1px;background:#171717}
.pro22-nav-quote{white-space:nowrap}
.pro22-social-follow{display:flex;align-items:center;gap:10px}
.pro22-social-follow a{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(216,189,123,.34);color:#fff;text-decoration:none;transition:.25s}
.pro22-social-follow a:hover{background:var(--p22-gold);color:#171717}
.h-captcha,.g-recaptcha{min-height:78px}
@media(max-width:991px){
  .pro22-mobile-menu-toggle{display:flex}
  .pro22-react-nav nav.pro22-react-menu{position:absolute;top:calc(100% + 12px);left:12px;right:12px;display:none;flex-direction:column;align-items:stretch;gap:0;background:rgba(251,250,246,.98);border:1px solid rgba(185,144,70,.28);box-shadow:0 20px 60px rgba(0,0,0,.18);padding:10px;z-index:50}
  .pro22-react-nav nav.pro22-react-menu.is-open{display:flex}
  .pro22-react-nav nav.pro22-react-menu a{color:#171717;padding:14px 12px;border-bottom:1px solid rgba(221,216,206,.65)}
  .pro22-react-nav nav.pro22-react-menu a:last-child{border-bottom:0}
  .pro22-nav-quote{display:none!important}
}


/* v19 Lighthouse and hero slider refinements */
.pro22-hero-pagination{position:absolute;left:clamp(28px,5vw,86px);bottom:clamp(34px,4.2vw,70px);z-index:4;display:flex;align-items:center;gap:12px}
.pro22-hero-pagination button{border:0;background:transparent;color:rgba(255,255,255,.55);font-size:.82rem;letter-spacing:.16em;font-weight:500;padding:8px 6px;position:relative;transition:.28s}
.pro22-hero-pagination button:after{content:"";position:absolute;left:6px;right:100%;bottom:2px;height:1px;background:var(--p22-gold-light);transition:right .28s}
.pro22-hero-pagination button.is-active{color:var(--p22-gold-light)}
.pro22-hero-pagination button.is-active:after{right:6px}
.pro22-react-hero-main{transition:background-image .75s ease-in-out}
@media(max-width:767px){
  .pro22-react-hero-inner h1{font-size:42px!important;line-height:1.02!important;letter-spacing:.2px!important;max-width:92vw}
  .pro22-hero-pagination{left:22px;bottom:24px;gap:8px}
  .pro22-hero-pagination button{font-size:.72rem;padding:6px 4px}
}


/* v20 header spacing, hero slider pagination, tab animations, form corners */
.pro22-react-brand{
  display:inline-flex;
  align-items:center;
  padding-block:10px 14px;
}
.pro22-react-brand img{
  display:block;
  margin-bottom:4px;
}
.pro22-react-nav{
  min-height:94px;
  padding-top:12px;
  padding-bottom:12px;
}
.pro22-react-hero-main{
  overflow:hidden;
}
.pro22-react-hero-main:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:inherit;
  background-size:cover;
  background-position:center;
  transform:scale(1.035);
  animation:pro22HeroZoom 5.4s ease-in-out both;
}
.pro22-react-hero-main>*{
  position:relative;
  z-index:2;
}
@keyframes pro22HeroZoom{
  from{transform:scale(1.01)}
  to{transform:scale(1.07)}
}
.pro22-hero-pagination{
  left:auto!important;
  right:clamp(22px,4vw,72px)!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  flex-direction:column;
  align-items:flex-end;
  gap:10px!important;
  z-index:5;
}
.pro22-hero-pagination button{
  min-width:178px;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  color:rgba(255,255,255,.62);
  border:1px solid rgba(255,255,255,.14)!important;
  background:rgba(10,10,10,.18)!important;
  backdrop-filter:blur(8px);
  padding:8px 12px!important;
  transition:background .28s ease,border-color .28s ease,color .28s ease,transform .28s ease;
}
.pro22-hero-pagination button:hover,
.pro22-hero-pagination button.is-active{
  color:var(--p22-gold-light);
  border-color:rgba(216,189,123,.55)!important;
  background:rgba(10,10,10,.42)!important;
  transform:translateX(-4px);
}
.pro22-hero-pagination button:after{
  display:none!important;
}
.pro22-hero-page-num{
  font-size:.82rem;
  letter-spacing:.16em;
  font-weight:500;
}
.pro22-hero-page-title{
  font-size:.68rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:rgba(255,255,255,.78);
  max-width:122px;
  text-align:right;
  line-height:1.25;
}
.pro22-hero-pagination button.is-active .pro22-hero-page-title{
  color:#fff;
}
.pro22-process-media{
  animation:pro22TabImage .52s ease both;
}
.pro22-process-copy-anim{
  animation:pro22TabCopy .42s ease both;
}
@keyframes pro22TabImage{
  from{opacity:.2;transform:translateX(-16px) scale(.985);filter:blur(4px)}
  to{opacity:1;transform:translateX(0) scale(1);filter:blur(0)}
}
@keyframes pro22TabCopy{
  from{opacity:.15;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}
.pro22-process-img{
  transition:transform .72s ease,filter .72s ease;
}
.pro22-process-media:hover .pro22-process-img{
  transform:scale(1.025);
}
.pro22-form-shell,
.pro22-form-shell .wpbb-dynamic-form-wrap,
.pro22-form-shell form,
.pro22-form-shell input,
.pro22-form-shell textarea,
.pro22-form-shell select,
.pro22-form-shell .btn{
  border-radius:0!important;
}
@media(max-width:1199px){
  .pro22-hero-pagination{
    right:24px!important;
  }
  .pro22-hero-pagination button{
    min-width:150px;
  }
}
@media(max-width:991px){
  .pro22-react-nav{
    min-height:82px;
  }
  .pro22-hero-pagination{
    top:auto!important;
    right:auto!important;
    left:22px!important;
    bottom:22px!important;
    transform:none!important;
    flex-direction:row;
    align-items:center;
    max-width:calc(100% - 44px);
    overflow-x:auto;
  }
  .pro22-hero-pagination button{
    min-width:auto;
    width:42px;
    height:38px;
    justify-content:center;
    padding:7px!important;
  }
  .pro22-hero-page-title{
    display:none;
  }
}
@media(max-width:767px){
  .pro22-react-brand{
    padding-block:8px 10px;
  }
  .pro22-react-brand img{
    max-height:58px;
    margin-bottom:2px;
  }
}


/* v21 hero H1 and margin refinement */
.pro22-react-hero-inner h1{
  font-size:clamp(2.65rem,4.25vw,4.875rem)!important;
  line-height:.98!important;
  letter-spacing:.03em!important;
  margin-bottom:24px!important;
}
.pro22-react-hero-inner .pro22-copy{
  margin-bottom:22px!important;
}
@media(max-width:991px){
  .pro22-react-hero-inner h1{
    font-size:clamp(2.25rem,7vw,3.75rem)!important;
    margin-bottom:20px!important;
  }
}
@media(max-width:767px){
  .pro22-react-hero-inner h1{
    font-size:2.25rem!important;
    line-height:1.06!important;
    letter-spacing:.01em!important;
    margin-bottom:18px!important;
  }
}


/* v22 hero slider and portfolio animation refinements */
.pro22-react-hero-v2 .pro22-react-hero-inner>*{
  opacity:0;
  transform:translateY(18px);
}
.pro22-react-hero-v2.is-ready .pro22-react-hero-inner>*{
  animation:pro22HeroTextIn .72s cubic-bezier(.2,.75,.2,1) both;
}
.pro22-react-hero-v2.is-ready .pro22-react-hero-inner>*:nth-child(1){animation-delay:.08s}
.pro22-react-hero-v2.is-ready .pro22-react-hero-inner>*:nth-child(2){animation-delay:.18s}
.pro22-react-hero-v2.is-ready .pro22-react-hero-inner>*:nth-child(3){animation-delay:.28s}
.pro22-react-hero-v2.is-ready .pro22-react-hero-inner>*:nth-child(4){animation-delay:.38s}
@keyframes pro22HeroTextIn{to{opacity:1;transform:translateY(0)}}
.pro22-react-hero-main{
  animation:pro22SlideFade .72s ease both;
}
@keyframes pro22SlideFade{
  from{opacity:.86;filter:saturate(.88) contrast(.96)}
  to{opacity:1;filter:saturate(1) contrast(1)}
}
.pro22-react-hero-main:before{
  animation:pro22HeroZoomSmooth 5.6s ease-in-out both!important;
}
@keyframes pro22HeroZoomSmooth{
  from{transform:scale(1.02)}
  to{transform:scale(1.085)}
}
.pro22-hero-pagination{
  right:clamp(30px,4.6vw,88px)!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  gap:11px!important;
}
.pro22-hero-pagination button{
  min-width:54px!important;
  width:54px;
  height:44px;
  justify-content:center!important;
  overflow:hidden;
  border-radius:0;
}
.pro22-hero-pagination button .pro22-hero-page-title{
  position:absolute;
  right:66px;
  top:50%;
  transform:translateY(-50%) translateX(8px);
  min-width:164px;
  opacity:0;
  pointer-events:none;
  background:rgba(10,10,10,.48);
  border:1px solid rgba(216,189,123,.28);
  padding:8px 12px;
  color:#fff;
  transition:opacity .25s ease,transform .25s ease;
}
.pro22-hero-pagination button:hover .pro22-hero-page-title,
.pro22-hero-pagination button.is-active .pro22-hero-page-title{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}
.pro22-hero-pagination button.is-active{
  width:54px!important;
  min-width:54px!important;
  color:var(--p22-gold-light);
}
.pro22-portfolio-masonry{
  animation:pro22PortfolioIn .5s ease both;
}
.pro22-portfolio-masonry>div{
  animation:pro22PortfolioItem .56s cubic-bezier(.2,.75,.2,1) both;
}
.pro22-portfolio-masonry>div:nth-child(2){animation-delay:.04s}
.pro22-portfolio-masonry>div:nth-child(3){animation-delay:.08s}
.pro22-portfolio-masonry>div:nth-child(4){animation-delay:.12s}
.pro22-portfolio-masonry>div:nth-child(5){animation-delay:.16s}
.pro22-portfolio-masonry>div:nth-child(6){animation-delay:.20s}
@keyframes pro22PortfolioIn{from{opacity:.55}to{opacity:1}}
@keyframes pro22PortfolioItem{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:991px){
  .pro22-hero-pagination button .pro22-hero-page-title{display:none}
  .pro22-hero-pagination button{width:42px!important;min-width:42px!important;height:38px}
}


/* v24 hero pagination, per-slide titles, service card order and cookie UI */
.pro22-hero-title-like{
  color:#fff;
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:clamp(2.65rem,4.25vw,4.875rem)!important;
  line-height:.98!important;
  letter-spacing:.03em!important;
  max-width:980px;
  margin:0 0 24px!important;
}
.pro22-react-hero-inner h1,
.pro22-react-hero-inner .pro22-hero-title-like,
.pro22-react-hero-inner .pro22-eyebrow,
.pro22-react-hero-inner .pro22-copy{
  animation:pro22HeroTextSlide .62s cubic-bezier(.2,.75,.2,1) both;
}
.pro22-react-hero-inner .pro22-eyebrow{animation-delay:.04s}
.pro22-react-hero-inner h1,
.pro22-react-hero-inner .pro22-hero-title-like{animation-delay:.12s}
.pro22-react-hero-inner .pro22-copy{animation-delay:.20s}
@keyframes pro22HeroTextSlide{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
.pro22-hero-pagination{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:clamp(28px,4vw,58px)!important;
  transform:translateX(-50%)!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  width:min(760px,calc(100% - 48px));
  gap:10px!important;
  z-index:6;
}
.pro22-hero-pagination button{
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:72px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(10,10,10,.34)!important;
  color:rgba(255,255,255,.72)!important;
  padding:14px 16px!important;
  text-align:left!important;
  backdrop-filter:blur(10px);
  transform:none!important;
  transition:background .28s ease,border-color .28s ease,color .28s ease,box-shadow .28s ease;
}
.pro22-hero-pagination button:hover,
.pro22-hero-pagination button.is-active{
  background:rgba(10,10,10,.58)!important;
  border-color:rgba(216,189,123,.62)!important;
  box-shadow:0 14px 42px rgba(0,0,0,.25);
  color:#fff!important;
}
.pro22-hero-pagination button.is-active .pro22-hero-page-num{
  color:var(--p22-gold-light)!important;
}
.pro22-hero-pagination button:after{display:none!important}
.pro22-hero-page-num{
  font-size:1rem!important;
  color:inherit;
  letter-spacing:.14em;
  font-weight:500;
  flex:0 0 auto;
}
.pro22-hero-page-title{
  display:block!important;
  position:static!important;
  transform:none!important;
  opacity:1!important;
  min-width:0!important;
  max-width:none!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  color:inherit!important;
  font-size:.72rem!important;
  line-height:1.25!important;
  letter-spacing:.11em!important;
  text-transform:uppercase;
  text-align:left!important;
}
.pro22-react-service.pro22-react-service-image{
  display:flex!important;
  flex-direction:column!important;
  height:100%;
}
.pro22-react-service.pro22-react-service-image>img{
  order:0!important;
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}
.pro22-react-service.pro22-react-service-image>.pro22-service-body{
  order:1!important;
  flex:1 1 auto;
}
.pro22-react-service-image>img+*{
  margin-top:0!important;
}
.wpbb-cookie-consent,.wpbb-cookie-consent-banner{
  position:fixed!important;
  left:24px!important;
  right:auto!important;
  bottom:24px!important;
  width:min(430px,calc(100vw - 48px))!important;
  background:#fff!important;
  color:#111827!important;
  border:1px solid rgba(185,144,70,.26)!important;
  box-shadow:0 24px 72px rgba(0,0,0,.18)!important;
  border-radius:0!important;
  padding:20px!important;
  z-index:99999!important;
  font-family:inherit!important;
}
.wpbb-cookie-consent p,.wpbb-cookie-consent-banner p{
  color:#475569!important;
  margin:0 0 14px!important;
  line-height:1.55!important;
}
.wpbb-cookie-consent button,.wpbb-cookie-consent-banner button,
.wpbb-cookie-consent a.button,.wpbb-cookie-consent-banner a.button{
  border-radius:0!important;
  background:#171717!important;
  color:#fff!important;
  border:1px solid #171717!important;
  padding:11px 16px!important;
  font-weight:500!important;
}
.wpbb-cookie-consent button:hover,.wpbb-cookie-consent-banner button:hover{
  background:var(--p22-gold)!important;
  border-color:var(--p22-gold)!important;
  color:#171717!important;
}
@media(max-width:991px){
  .pro22-hero-pagination{
    grid-template-columns:repeat(4,1fr);
    width:calc(100% - 32px);
    bottom:18px!important;
    gap:6px!important;
  }
  .pro22-hero-pagination button{
    min-height:54px!important;
    justify-content:center!important;
    padding:10px 6px!important;
  }
  .pro22-hero-page-title{display:none!important}
  .pro22-hero-page-num{font-size:.84rem!important}
}
@media(max-width:767px){
  .pro22-hero-title-like{
    font-size:2.25rem!important;
    line-height:1.06!important;
    margin-bottom:18px!important;
  }
  .pro22-react-service.pro22-react-service-image>img{height:210px}
}


/* v25 final hero pagination sync/layout, note placement, FAQ padding */
.pro22-react-hero-main{
  padding-bottom:150px!important;
}
.pro22-hero-pagination{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:30px!important;
  transform:translateX(-50%)!important;
  width:min(860px,calc(100% - 48px))!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  z-index:8!important;
  align-items:stretch!important;
}
.pro22-hero-pagination button{
  width:100%!important;
  min-width:0!important;
  height:82px!important;
  min-height:82px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:13px!important;
  padding:16px 18px!important;
  text-align:left!important;
  border:1px solid rgba(255,255,255,.82)!important;
  background:rgba(255,255,255,.9)!important;
  color:#171717!important;
  box-shadow:0 16px 42px rgba(0,0,0,.16)!important;
  backdrop-filter:blur(8px)!important;
  transform:none!important;
  transition:background .28s ease,border-color .28s ease,box-shadow .28s ease,color .28s ease!important;
}
.pro22-hero-pagination button:hover,
.pro22-hero-pagination button.is-active,
.pro22-hero-pagination button[aria-current="true"]{
  background:#fff!important;
  border-color:var(--p22-gold)!important;
  color:#171717!important;
  box-shadow:0 20px 54px rgba(0,0,0,.24)!important;
}
.pro22-hero-pagination button:after{
  display:none!important;
}
.pro22-hero-pagination .pro22-hero-page-num{
  color:var(--p22-gold-dark)!important;
  font-size:1.05rem!important;
  line-height:1!important;
  letter-spacing:.14em!important;
  font-weight:500!important;
  flex:0 0 auto!important;
}
.pro22-hero-pagination button.is-active .pro22-hero-page-num,
.pro22-hero-pagination button[aria-current="true"] .pro22-hero-page-num{
  color:var(--p22-gold)!important;
}
.pro22-hero-pagination .pro22-hero-page-title{
  display:block!important;
  position:static!important;
  transform:none!important;
  opacity:1!important;
  pointer-events:auto!important;
  min-width:0!important;
  max-width:130px!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  color:#242629!important;
  font-size:.72rem!important;
  line-height:1.25!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  text-align:left!important;
}
.pro22-hero-note{
  right:34px!important;
  bottom:126px!important;
  z-index:7!important;
  margin:0!important;
}
.pro22-admin-accordion .accordion-button{
  padding-top:18px!important;
  padding-bottom:18px!important;
  line-height:1.35!important;
}
.pro22-admin-accordion .accordion-body{
  padding-top:18px!important;
  padding-bottom:18px!important;
}
.pro22-admin-accordion .accordion-body p,
.pro22-admin-accordion .accordion-body li{
  margin-top:0!important;
  margin-bottom:0!important;
  line-height:1.65!important;
}
@media(max-width:1199px){
  .pro22-react-hero-main{padding-bottom:138px!important}
  .pro22-hero-note{
    right:24px!important;
    bottom:118px!important;
    max-width:320px!important;
  }
  .pro22-hero-pagination{width:min(760px,calc(100% - 36px))!important}
  .pro22-hero-pagination button{height:74px!important;min-height:74px!important;padding:13px 14px!important}
}
@media(max-width:991px){
  .pro22-react-hero-main{padding-bottom:128px!important}
  .pro22-hero-note{
    display:none!important;
  }
  .pro22-hero-pagination{
    bottom:18px!important;
    width:calc(100% - 28px)!important;
    gap:7px!important;
  }
  .pro22-hero-pagination button{
    height:54px!important;
    min-height:54px!important;
    justify-content:center!important;
    padding:8px!important;
  }
  .pro22-hero-pagination .pro22-hero-page-title{display:none!important}
  .pro22-hero-pagination .pro22-hero-page-num{font-size:.86rem!important}
}


/* v25 cookie consent clean style */
.pro22-cookie-consent,
.wpbb-cookie-consent-banner.pro22-cookie-consent{
  position:fixed!important;
  left:24px!important;
  right:auto!important;
  bottom:24px!important;
  width:min(420px,calc(100vw - 48px))!important;
  background:#fff!important;
  color:#171717!important;
  border:1px solid rgba(185,144,70,.32)!important;
  border-top:3px solid var(--p22-gold)!important;
  box-shadow:0 24px 74px rgba(0,0,0,.20)!important;
  border-radius:0!important;
  padding:19px!important;
  z-index:999999!important;
  font-family:inherit!important;
}
.pro22-cookie-consent__text strong{
  display:block!important;
  font-family:Georgia,serif!important;
  font-weight:400!important;
  font-size:1.25rem!important;
  margin-bottom:6px!important;
  color:#171717!important;
}
.pro22-cookie-consent__text p{
  margin:0 0 14px!important;
  color:#475569!important;
  line-height:1.55!important;
  font-size:.92rem!important;
}
.pro22-cookie-consent__actions{
  display:flex!important;
  justify-content:flex-end!important;
}
.pro22-cookie-consent .pro22-cookie-accept{
  border-radius:0!important;
  background:#171717!important;
  color:#fff!important;
  border:1px solid #171717!important;
  padding:11px 18px!important;
  font-weight:500!important;
  cursor:pointer!important;
}
.pro22-cookie-consent .pro22-cookie-accept:hover{
  background:var(--p22-gold)!important;
  border-color:var(--p22-gold)!important;
  color:#171717!important;
}


/* v26 hero pagination final: bottom info boxes + right middle number nav */
.pro22-react-hero-main{
  padding-bottom:150px!important;
}
.pro22-hero-pagination{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:30px!important;
  transform:translateX(-50%)!important;
  width:min(860px,calc(100% - 48px))!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  z-index:8!important;
}
.pro22-hero-pagination button{
  width:100%!important;
  min-width:0!important;
  height:82px!important;
  min-height:82px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:13px!important;
  padding:16px 18px!important;
  text-align:left!important;
  border:1px solid rgba(255,255,255,.82)!important;
  background:rgba(255,255,255,.92)!important;
  color:#171717!important;
  box-shadow:0 16px 42px rgba(0,0,0,.16)!important;
  backdrop-filter:blur(8px)!important;
  transform:none!important;
}
.pro22-hero-pagination button:hover,
.pro22-hero-pagination button.is-active,
.pro22-hero-pagination button[aria-current="true"]{
  background:#fff!important;
  border-color:var(--p22-gold)!important;
  box-shadow:0 20px 54px rgba(0,0,0,.24)!important;
}
.pro22-hero-pagination button:after{display:none!important}
.pro22-hero-pagination .pro22-hero-page-num{
  color:var(--p22-gold-dark)!important;
  font-size:1.05rem!important;
  line-height:1!important;
  letter-spacing:.14em!important;
  font-weight:500!important;
  flex:0 0 auto!important;
}
.pro22-hero-pagination .pro22-hero-page-title{
  display:block!important;
  position:static!important;
  transform:none!important;
  opacity:1!important;
  pointer-events:auto!important;
  min-width:0!important;
  max-width:136px!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  color:#242629!important;
  font-size:.72rem!important;
  line-height:1.25!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  text-align:left!important;
}
.pro22-hero-number-nav{
  position:absolute!important;
  top:50%!important;
  right:clamp(22px,3.2vw,58px)!important;
  transform:translateY(-50%)!important;
  z-index:9!important;
  display:flex!important;
  flex-direction:column!important;
  gap:9px!important;
}
.pro22-hero-number-nav button{
  width:42px!important;
  height:42px!important;
  border:1px solid rgba(255,255,255,.42)!important;
  background:rgba(255,255,255,.16)!important;
  color:rgba(255,255,255,.78)!important;
  font-size:.72rem!important;
  letter-spacing:.14em!important;
  cursor:pointer!important;
  transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease!important;
  backdrop-filter:blur(8px)!important;
}
.pro22-hero-number-nav button:hover,
.pro22-hero-number-nav button.is-active,
.pro22-hero-number-nav button[aria-current="true"]{
  background:#fff!important;
  border-color:var(--p22-gold)!important;
  color:var(--p22-gold-dark)!important;
  transform:translateX(-4px)!important;
}
.pro22-hero-note{
  right:34px!important;
  bottom:126px!important;
  z-index:7!important;
  margin:0!important;
}
@media(max-width:1199px){
  .pro22-react-hero-main{padding-bottom:138px!important}
  .pro22-hero-note{right:24px!important;bottom:118px!important;max-width:320px!important}
  .pro22-hero-pagination{width:min(760px,calc(100% - 36px))!important}
  .pro22-hero-pagination button{height:74px!important;min-height:74px!important;padding:13px 14px!important}
}
@media(max-width:991px){
  .pro22-react-hero-main{padding-bottom:128px!important}
  .pro22-hero-note{display:none!important}
  .pro22-hero-number-nav{display:none!important}
  .pro22-hero-pagination{bottom:18px!important;width:calc(100% - 28px)!important;gap:7px!important}
  .pro22-hero-pagination button{height:54px!important;min-height:54px!important;justify-content:center!important;padding:8px!important}
  .pro22-hero-pagination .pro22-hero-page-title{display:none!important}
  .pro22-hero-pagination .pro22-hero-page-num{font-size:.86rem!important}
}


/* v29 final cleanups: gold form, select arrow, vertical hero nav, scroll-to-top */
.pro22-form-shell .btn,
.pro22-form-shell button[type="submit"],
.pro22-form-shell .btn-primary,
.pro22-form-shell .wp-block-button__link,
.wpbb-dynamic-form-wrap .btn-primary,
.wpbb-dynamic-form-wrap button[type="submit"]{
  background:var(--p22-gold)!important;
  border-color:var(--p22-gold)!important;
  color:#171717!important;
  border-radius:0!important;
  font-weight:500!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.pro22-form-shell .btn:hover,
.pro22-form-shell button[type="submit"]:hover,
.wpbb-dynamic-form-wrap .btn-primary:hover,
.wpbb-dynamic-form-wrap button[type="submit"]:hover{
  background:#171717!important;
  border-color:#171717!important;
  color:#fff!important;
}
.pro22-form-shell select,
.pro22-form-shell .form-select,
.wpbb-dynamic-form-wrap select,
.wpbb-dynamic-form-wrap .form-select{
  appearance:none!important;
  -webkit-appearance:none!important;
  padding-right:2.75rem!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20'%3E%3Cpath fill='%23b99046' d='M5.2 7.3 10 12.1l4.8-4.8 1.1 1.1-5.9 5.9-5.9-5.9z'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 1rem center!important;
  background-size:18px 18px!important;
}
.pro22-hero-pagination{display:none!important}
.pro22-hero-number-nav{
  position:absolute!important;
  top:50%!important;
  right:clamp(22px,3.2vw,58px)!important;
  transform:translateY(-50%)!important;
  z-index:9!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}
.pro22-hero-number-nav button{
  min-width:132px!important;
  min-height:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  border:1px solid rgba(255,255,255,.36)!important;
  background:rgba(255,255,255,.15)!important;
  color:rgba(255,255,255,.82)!important;
  padding:10px 13px!important;
  text-align:left!important;
  backdrop-filter:blur(8px)!important;
  cursor:pointer!important;
  transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease!important;
}
.pro22-hero-number-nav button:hover,
.pro22-hero-number-nav button.is-active,
.pro22-hero-number-nav button[aria-current="true"]{
  background:#fff!important;
  border-color:var(--p22-gold)!important;
  color:#171717!important;
  transform:translateX(-5px)!important;
}
.pro22-hero-number-nav .pro22-hero-page-num{
  color:var(--p22-gold-light)!important;
  font-size:.86rem!important;
  line-height:1!important;
  letter-spacing:.14em!important;
  font-weight:500!important;
  flex:0 0 auto!important;
}
.pro22-hero-number-nav button.is-active .pro22-hero-page-num,
.pro22-hero-number-nav button[aria-current="true"] .pro22-hero-page-num{
  color:var(--p22-gold)!important;
}
.pro22-hero-number-nav .pro22-hero-page-title{
  display:block!important;
  color:inherit!important;
  font-size:.62rem!important;
  line-height:1.22!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  max-width:78px!important;
}
.pro22-hero-note{
  right:clamp(26px,5vw,86px)!important;
  bottom:clamp(82px,9vw,142px)!important;
  z-index:7!important;
  margin:0!important;
}
.pro22-scroll-top{
  width:46px;
  height:46px;
  border:1px solid var(--p22-gold)!important;
  background:var(--p22-gold)!important;
  color:#171717!important;
  display:inline-grid;
  place-items:center;
  cursor:pointer;
  margin-left:12px;
  transition:background .22s ease,color .22s ease,transform .22s ease;
}
.pro22-scroll-top:hover{
  background:#171717!important;
  color:#fff!important;
  transform:translateY(-2px);
}
.pro22-scroll-top svg{
  width:18px;
  height:18px;
  display:block;
}
.pro22-react-footer .pro22-footer-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.pro22-demo-hero-image img{
  width:100%;
  height:auto;
  display:block;
}
@media(max-width:991px){
  .pro22-hero-number-nav{
    right:18px!important;
    gap:7px!important;
  }
  .pro22-hero-number-nav button{
    min-width:46px!important;
    width:46px!important;
    min-height:42px!important;
    justify-content:center!important;
    padding:8px!important;
  }
  .pro22-hero-number-nav .pro22-hero-page-title{display:none!important}
  .pro22-hero-note{display:none!important}
}


/* v30 hero note alignment and synced trust pagination */
.pro22-react-hero-inner{
  position:relative!important;
}
.pro22-react-hero-inner .d-flex.gap-3{
  position:relative!important;
  padding-right:min(360px,32vw)!important;
}
.pro22-hero-note{
  left:auto!important;
  right:clamp(28px,5vw,86px)!important;
  bottom:auto!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:7!important;
  margin:0!important;
  min-width:260px!important;
  text-align:left!important;
}
.pro22-trust-strip{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  border-top:1px solid rgba(185,144,70,.22)!important;
  border-bottom:1px solid rgba(185,144,70,.22)!important;
  background:rgba(251,250,246,.96)!important;
}
.pro22-trust-strip .pro22-trust-pill{
  appearance:none!important;
  border:0!important;
  border-right:1px solid rgba(185,144,70,.18)!important;
  background:transparent!important;
  color:#242629!important;
  cursor:pointer!important;
  padding:18px 20px!important;
  text-align:left!important;
  transition:background .25s ease,color .25s ease,box-shadow .25s ease!important;
}
.pro22-trust-strip .pro22-trust-pill:last-child{
  border-right:0!important;
}
.pro22-trust-strip .pro22-trust-pill span{
  color:var(--p22-gold-dark)!important;
  transition:color .25s ease!important;
}
.pro22-trust-strip .pro22-trust-pill:hover,
.pro22-trust-strip .pro22-trust-pill.is-active,
.pro22-trust-strip .pro22-trust-pill[aria-current="true"]{
  background:#fff!important;
  color:#171717!important;
  box-shadow:inset 0 3px 0 var(--p22-gold)!important;
}
.pro22-trust-strip .pro22-trust-pill.is-active span,
.pro22-trust-strip .pro22-trust-pill[aria-current="true"] span{
  color:var(--p22-gold)!important;
}
@media(max-width:1199px){
  .pro22-react-hero-inner .d-flex.gap-3{
    padding-right:0!important;
  }
  .pro22-hero-note{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    transform:none!important;
    margin-top:22px!important;
    min-width:0!important;
    max-width:330px!important;
  }
}
@media(max-width:767px){
  .pro22-trust-strip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .pro22-trust-strip .pro22-trust-pill{
    padding:14px 15px!important;
    font-size:.78rem!important;
  }
}


/* v31 trust bottom, footer scroll button and service hover gold line */
.pro22-react-hero-v2{
  position:relative!important;
}
.pro22-react-hero-main{
  min-height:calc(100vh - 0px)!important;
  padding-bottom:120px!important;
}
.pro22-trust-strip{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:10!important;
  margin:0!important;
}
.pro22-react-service{
  position:relative!important;
  overflow:hidden!important;
}
.pro22-react-service:before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:0!important;
  height:3px!important;
  background:linear-gradient(90deg,var(--p22-gold),#e4c987)!important;
  transition:width .35s cubic-bezier(.2,.75,.2,1)!important;
  z-index:3!important;
}
.pro22-react-service:hover:before,
.pro22-react-service:focus-within:before{
  width:100%!important;
}
.pro22-react-service:hover{
  border-color:rgba(185,144,70,.45)!important;
}
.pro22-react-footer .pro22-alignwide{
  align-items:center!important;
}
.pro22-footer-actions{
  margin-left:auto!important;
}
.pro22-scroll-top{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  border:1px solid var(--p22-gold)!important;
  background:var(--p22-gold)!important;
  color:#171717!important;
  display:inline-grid!important;
  place-items:center!important;
  cursor:pointer!important;
  margin-left:12px!important;
  border-radius:0!important;
  transition:background .22s ease,color .22s ease,transform .22s ease,border-color .22s ease!important;
}
.pro22-scroll-top:hover,
.pro22-scroll-top:focus{
  background:#171717!important;
  color:#fff!important;
  border-color:#171717!important;
  transform:translateY(-2px)!important;
}
.pro22-scroll-top svg{
  width:18px!important;
  height:18px!important;
  display:block!important;
}
@media(max-width:991px){
  .pro22-react-hero-main{
    padding-bottom:132px!important;
  }
  .pro22-trust-strip{
    position:relative!important;
    bottom:auto!important;
  }
  .pro22-footer-actions{
    margin-left:0!important;
  }
}


/* v33 accordion equal padding */
.accordion-body,
.wpbb-accordion .accordion-body,
.pro22-admin-accordion .accordion-body{
  padding:1.35rem!important;
}
.pro22-admin-accordion .accordion-button{
  padding:1.35rem!important;
}
.pro22-admin-accordion .accordion-body p,
.pro22-admin-accordion .accordion-body li{
  margin-top:0!important;
  margin-bottom:0!important;
  line-height:1.65!important;
}


/* v34 hero height and centered trust strip */
.pro22-react-hero-v2{
  position:relative!important;
  min-height:auto!important;
}
.pro22-react-hero-main{
  min-height:clamp(760px,86vh,980px)!important;
  height:auto!important;
  padding-bottom:150px!important;
  position:relative!important;
}
.pro22-trust-strip{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  bottom:28px!important;
  transform:translateX(-50%)!important;
  width:min(1720px,calc(100% - 48px))!important;
  max-width:1720px!important;
  margin:0 auto!important;
  z-index:12!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  overflow:hidden!important;
  background:rgba(251,250,246,.94)!important;
  border:1px solid rgba(185,144,70,.28)!important;
  box-shadow:0 18px 55px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(10px)!important;
}
.pro22-trust-strip .pro22-trust-pill{
  min-height:74px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  border:0!important;
  border-right:1px solid rgba(185,144,70,.18)!important;
  background:transparent!important;
}
.pro22-trust-strip .pro22-trust-pill:last-child{
  border-right:0!important;
}
.pro22-trust-strip .pro22-trust-pill:hover,
.pro22-trust-strip .pro22-trust-pill.is-active,
.pro22-trust-strip .pro22-trust-pill[aria-current="true"]{
  background:#fff!important;
  box-shadow:inset 0 3px 0 var(--p22-gold)!important;
}
@media(max-width:1199px){
  .pro22-react-hero-main{
    min-height:760px!important;
    padding-bottom:138px!important;
  }
  .pro22-trust-strip{
    width:calc(100% - 36px)!important;
    bottom:22px!important;
  }
}
@media(max-width:991px){
  .pro22-react-hero-main{
    min-height:700px!important;
    padding-bottom:0!important;
  }
  .pro22-trust-strip{
    position:relative!important;
    left:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:none!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    box-shadow:none!important;
    border-left:0!important;
    border-right:0!important;
  }
}
@media(max-width:575px){
  .pro22-react-hero-main{
    min-height:650px!important;
  }
  .pro22-trust-strip{
    grid-template-columns:1fr!important;
  }
  .pro22-trust-strip .pro22-trust-pill{
    min-height:58px!important;
  }
}


/* v35 full-fluid top hero directly after header */
.pro22-react-body main,
.pro22-react-headless-body main,
body.pro22-react-headless-body main#top{
  margin-top:0!important;
  padding-top:0!important;
}
.pro22-react-hero-v2{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  margin-top:0!important;
  padding-top:0!important;
  overflow:hidden!important;
}
.pro22-react-header + main .pro22-react-hero-v2,
main#top > .pro22-react-hero-v2:first-child{
  margin-top:0!important;
}
.pro22-react-hero-main{
  width:100%!important;
  max-width:none!important;
  border-radius:0!important;
  margin-top:0!important;
  background-size:cover!important;
  background-position:center!important;
}
.pro22-react-hero-inner{
  max-width:1720px!important;
  width:min(1720px,calc(100% - 48px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.pro22-trust-strip{
  width:min(1720px,calc(100% - 48px))!important;
}
@media(max-width:767px){
  .pro22-react-hero-inner,
  .pro22-trust-strip{
    width:calc(100% - 28px)!important;
  }
}


/* v36 trust strip fixed inside bottom of fluid hero */
.pro22-react-hero-v2{
  position:relative!important;
  overflow:hidden!important;
}
.pro22-react-hero-main{
  position:relative!important;
  min-height:clamp(760px,86vh,980px)!important;
  padding-bottom:150px!important;
  display:flex!important;
  align-items:center!important;
}
.pro22-trust-strip{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  bottom:28px!important;
  top:auto!important;
  transform:translateX(-50%)!important;
  width:min(1720px,calc(100vw - 48px))!important;
  max-width:1720px!important;
  margin:0!important;
  z-index:20!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  background:rgba(251,250,246,.94)!important;
  border:1px solid rgba(185,144,70,.28)!important;
  box-shadow:0 18px 55px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(10px)!important;
}
.pro22-trust-strip .pro22-trust-pill{
  min-height:74px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  padding:18px 20px!important;
  border:0!important;
  border-right:1px solid rgba(185,144,70,.18)!important;
  background:transparent!important;
}
.pro22-trust-strip .pro22-trust-pill:last-child{
  border-right:0!important;
}
@media(max-width:1199px){
  .pro22-react-hero-main{
    min-height:760px!important;
    padding-bottom:138px!important;
  }
  .pro22-trust-strip{
    width:calc(100vw - 36px)!important;
    bottom:22px!important;
  }
}
@media(max-width:991px){
  .pro22-react-hero-main{
    min-height:700px!important;
    padding-bottom:130px!important;
  }
  .pro22-trust-strip{
    position:absolute!important;
    left:14px!important;
    right:14px!important;
    bottom:14px!important;
    transform:none!important;
    width:auto!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    box-shadow:0 12px 36px rgba(0,0,0,.16)!important;
    border:1px solid rgba(185,144,70,.24)!important;
  }
}
@media(max-width:575px){
  .pro22-react-hero-main{
    min-height:680px!important;
    padding-bottom:170px!important;
  }
  .pro22-trust-strip{
    grid-template-columns:1fr!important;
  }
  .pro22-trust-strip .pro22-trust-pill{
    min-height:46px!important;
    padding:10px 14px!important;
  }
}


/* v37 trust strip no-overlap positioning */
.pro22-react-hero-main{
  padding-bottom:170px!important;
}
.pro22-trust-strip{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:34px!important;
  transform:translateX(-50%)!important;
  width:min(1280px,calc(100vw - 96px))!important;
  max-width:1280px!important;
  z-index:6!important;
}
.pro22-hero-number-nav{
  z-index:12!important;
}
.pro22-hero-note{
  z-index:8!important;
}
@media(min-width:1200px){
  .pro22-trust-strip{
    /* leave clear space for the right-side vertical number pagination */
    width:min(1180px,calc(100vw - 320px))!important;
    left:calc(50% - 70px)!important;
  }
}
@media(max-width:1199px){
  .pro22-react-hero-main{
    padding-bottom:156px!important;
  }
  .pro22-trust-strip{
    width:calc(100vw - 64px)!important;
    bottom:28px!important;
  }
}
@media(max-width:991px){
  .pro22-react-hero-main{
    padding-bottom:145px!important;
  }
  .pro22-trust-strip{
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
    transform:none!important;
    width:auto!important;
    max-width:none!important;
    z-index:10!important;
  }
}
@media(max-width:575px){
  .pro22-react-hero-main{
    padding-bottom:190px!important;
  }
  .pro22-trust-strip{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
  }
}


/* v38 hero section reset */
.pro22-react-hero-v2{
  padding:0!important;
  margin:0!important;
}
main#top > .pro22-react-hero-v2:first-child,
.pro22-react-header + main .pro22-react-hero-v2{
  padding-top:0!important;
  margin-top:0!important;
}


/* v39 style builder + hero note no-overlap */
.pro22-hero-note{
  right:clamp(190px,15vw,285px)!important;
  left:auto!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  z-index:8!important;
  max-width:320px!important;
}
.pro22-hero-number-nav{
  z-index:12!important;
}
@media(max-width:1199px){
  .pro22-hero-note{
    right:180px!important;
    max-width:280px!important;
  }
}
@media(max-width:991px){
  .pro22-hero-note{
    display:none!important;
  }
}


/* v41 normal pages header/footer and scroll-top consistency */
body.pro22-normal-page-body{
  padding-top:0!important;
}
body.pro22-normal-page-body main,
body.pro22-normal-page-body .site-main,
body.pro22-normal-page-body .wp-site-blocks,
body.pro22-normal-page-body .pro22-normal-main,
body.pro22-normal-page-body .entry-content{
  margin-top:0!important;
  padding-top:0!important;
}
body.pro22-normal-page-body .wp-block-spacer:first-child,
body.pro22-normal-page-body main > .wp-block-spacer:first-child,
body.pro22-normal-page-body .entry-content > .wp-block-spacer:first-child,
body.pro22-normal-page-body .entry-content > :first-child:is(.wp-block-spacer){
  display:none!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
}
.pro22-normal-header{
  background:rgba(251,250,246,.98)!important;
  border-bottom:1px solid rgba(185,144,70,.18)!important;
}
.pro22-normal-contact-bar{
  background:#171717!important;
  color:#fff!important;
}
.pro22-normal-contact-bar a{
  color:#fff!important;
  text-decoration:none!important;
}
.pro22-normal-contact-bar i{
  color:var(--p22-gold)!important;
}
.pro22-normal-nav{
  max-width:1720px!important;
  margin:0 auto!important;
  padding:14px 24px!important;
  min-height:86px!important;
}
.pro22-normal-brand img{
  max-height:64px!important;
  width:auto!important;
  display:block!important;
}
.pro22-normal-menu a{
  font-size:.78rem!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  color:#242629!important;
  font-weight:500!important;
}
.pro22-normal-menu a:hover{
  color:var(--p22-gold-dark)!important;
}
.pro22-normal-footer{
  background:#171717!important;
  color:#fff!important;
  padding:28px 0!important;
  border-top:1px solid rgba(185,144,70,.28)!important;
}
.pro22-normal-footer__inner{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
}
.pro22-normal-footer__text{
  color:rgba(255,255,255,.78)!important;
}
.pro22-normal-footer .pro22-footer-actions{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin-left:auto!important;
  position:static!important;
}
.pro22-normal-footer .pro22-social-follow{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
.pro22-normal-footer .pro22-social-follow a{
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(185,144,70,.45)!important;
  color:var(--p22-gold-light)!important;
  text-decoration:none!important;
}
.pro22-normal-footer .pro22-social-follow a:hover{
  background:var(--p22-gold)!important;
  color:#171717!important;
}
.pro22-scroll-top{
  position:static!important;
  right:auto!important;
  bottom:auto!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  border:1px solid var(--p22-gold)!important;
  background:var(--p22-gold)!important;
  color:#171717!important;
  display:inline-grid!important;
  place-items:center!important;
  cursor:pointer!important;
  margin:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  z-index:auto!important;
}
.pro22-scroll-top:hover,
.pro22-scroll-top:focus{
  background:#fff!important;
  border-color:#fff!important;
  color:#171717!important;
  transform:translateY(-2px)!important;
}
.pro22-scroll-top svg{
  width:18px!important;
  height:18px!important;
  display:block!important;
}
@media(max-width:991px){
  .pro22-normal-footer__inner{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .pro22-normal-footer .pro22-footer-actions{
    margin-left:0!important;
  }
  .pro22-normal-nav{
    min-height:74px!important;
    padding:12px 18px!important;
  }
}


/* v42 single/location page header, footer and WhatsApp hard fix */
body.pro22-normal-page-body,
body.single,
body.page{
  background:#fbfaf6!important;
}
body.pro22-normal-page-body .pro22-normal-header,
body.single .pro22-normal-header,
body.page .pro22-normal-header{
  display:block!important;
  width:100%!important;
  background:rgba(251,250,246,.98)!important;
  border-bottom:1px solid rgba(185,144,70,.18)!important;
  position:relative!important;
  z-index:100!important;
  min-height:0!important;
}
.pro22-normal-contact-bar{
  min-height:34px!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:28px!important;
  padding:7px 20px!important;
  background:#171717!important;
  color:#fff!important;
  font-size:.78rem!important;
}
.pro22-normal-contact-bar a{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  color:#fff!important;
  text-decoration:none!important;
}
.pro22-normal-contact-bar i{color:var(--p22-gold)!important}
.pro22-normal-contact-bar strong{
  font-weight:500!important;
  color:#fff!important;
}
.pro22-normal-nav{
  max-width:1720px!important;
  width:100%!important;
  margin:0 auto!important;
  padding:14px 32px!important;
  min-height:90px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:28px!important;
  box-sizing:border-box!important;
}
.pro22-normal-brand{
  display:inline-flex!important;
  align-items:center!important;
  min-width:92px!important;
  color:#171717!important;
  text-decoration:none!important;
  font-weight:600!important;
}
.pro22-normal-brand img{
  max-width:100px!important;
  max-height:70px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  display:block!important;
}
.pro22-normal-menu{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:30px!important;
  flex:1 1 auto!important;
}
.pro22-normal-menu a{
  font-size:.78rem!important;
  line-height:1!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  color:#242629!important;
  font-weight:500!important;
  white-space:nowrap!important;
}
.pro22-normal-menu a:hover{color:var(--p22-gold-dark)!important}
.pro22-normal-header .btn-pro22-gold,
.pro22-normal-nav .btn-pro22-gold{
  flex:0 0 auto!important;
  border-radius:0!important;
  background:var(--p22-gold)!important;
  border-color:var(--p22-gold)!important;
  color:#171717!important;
  padding:14px 22px!important;
  text-decoration:none!important;
  box-shadow:0 16px 34px rgba(185,144,70,.18)!important;
}
.pro22-normal-footer{
  clear:both!important;
  width:100%!important;
  background:#171717!important;
  color:#fff!important;
  padding:28px 0!important;
  margin-top:64px!important;
  border-top:1px solid rgba(185,144,70,.28)!important;
  position:relative!important;
  z-index:10!important;
}
.pro22-normal-footer__inner{
  max-width:1720px!important;
  width:calc(100% - 48px)!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
}
.pro22-normal-footer__text{
  color:rgba(255,255,255,.78)!important;
  font-size:.88rem!important;
}
.pro22-normal-footer .pro22-footer-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  margin-left:auto!important;
  position:static!important;
}
.pro22-normal-footer .pro22-social-follow{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
.pro22-normal-footer .pro22-social-follow a{
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(185,144,70,.45)!important;
  color:var(--p22-gold-light)!important;
  text-decoration:none!important;
  font-size:16px!important;
}
.pro22-normal-footer .pro22-social-follow a:hover{
  background:var(--p22-gold)!important;
  color:#171717!important;
}
.pro22-normal-footer .pro22-scroll-top{
  position:static!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  border:1px solid var(--p22-gold)!important;
  background:var(--p22-gold)!important;
  color:#171717!important;
  display:inline-grid!important;
  place-items:center!important;
  cursor:pointer!important;
  margin:0!important;
  border-radius:0!important;
  overflow:hidden!important;
}
.pro22-normal-footer .pro22-scroll-top svg{
  width:18px!important;
  height:18px!important;
  display:block!important;
}

/* Force WP BBuilder WhatsApp button to stay small on every template. */
.wpbb-global-whatsapp,
.wpbb-global-whatsapp.wpbb-global-whatsapp--chat{
  position:fixed!important;
  right:22px!important;
  bottom:22px!important;
  left:auto!important;
  top:auto!important;
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  z-index:9999!important;
}
.wpbb-global-whatsapp .wpbb-wa-trigger,
.wpbb-global-whatsapp > button,
.wpbb-global-whatsapp > a{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  max-width:58px!important;
  max-height:58px!important;
  border-radius:50%!important;
  background:#25d366!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  overflow:hidden!important;
  line-height:1!important;
  box-shadow:0 16px 38px rgba(0,0,0,.22)!important;
  text-decoration:none!important;
}
.wpbb-global-whatsapp svg,
.wpbb-global-whatsapp .wpbb-wa-trigger svg,
.wpbb-global-whatsapp > a svg{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  max-width:28px!important;
  max-height:28px!important;
  display:block!important;
  color:#fff!important;
  fill:currentColor!important;
}
.wpbb-global-whatsapp .wpbb-wa-card{
  width:min(320px,calc(100vw - 34px))!important;
  max-width:320px!important;
  height:auto!important;
  max-height:none!important;
  right:0!important;
  bottom:72px!important;
  overflow:hidden!important;
}
.wpbb-global-whatsapp:not(.is-open) .wpbb-wa-card{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.wpbb-global-whatsapp.is-open .wpbb-wa-card{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* Some older WhatsApp outputs printed a huge SVG directly after footer. */
body > svg[viewBox="0 0 24 24"],
body > svg[viewBox="0 0 32 32"]{
  display:none!important;
}

@media(max-width:991px){
  .pro22-normal-contact-bar{display:none!important}
  .pro22-normal-nav{
    min-height:76px!important;
    padding:12px 18px!important;
    gap:16px!important;
    flex-wrap:wrap!important;
  }
  .pro22-normal-menu{
    order:3!important;
    flex-basis:100%!important;
    justify-content:flex-start!important;
    overflow-x:auto!important;
    gap:18px!important;
    padding-bottom:4px!important;
  }
  .pro22-normal-brand img{
    max-height:56px!important;
    max-width:84px!important;
  }
  .pro22-normal-footer__inner{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .pro22-normal-footer .pro22-footer-actions{
    margin-left:0!important;
  }
}


/* v43 initial H1 fallback for headless React source/SEO */
.pro22-seo-initial-hero{
  min-height:52vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(48px,8vw,120px);
  background:#171717;
  color:#fff;
}
.pro22-seo-initial-hero h1{
  max-width:980px;
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:clamp(2.75rem,5vw,5.5rem);
  line-height:.96;
  margin:0 0 18px;
}
.pro22-seo-initial-hero p{
  max-width:620px;
}


/* v44 non-home scroll/top spacer and footer actions fix */
body:not(.home) .pro22-footer-actions,
body:not(.pro22-react-headless-body) .pro22-footer-actions,
.pro22-normal-footer .pro22-footer-actions{
  position:static!important;
  right:auto!important;
  bottom:auto!important;
  top:auto!important;
  left:auto!important;
  z-index:auto!important;
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
}
body:not(.home) .pro22-scroll-top,
body:not(.pro22-react-headless-body) .pro22-scroll-top,
.pro22-normal-footer .pro22-scroll-top{
  position:static!important;
  right:auto!important;
  bottom:auto!important;
  top:auto!important;
  left:auto!important;
  z-index:auto!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  display:inline-grid!important;
  place-items:center!important;
}
body:not(.home) .wp-block-group > .wp-block-spacer{
  max-height:50px;
}


/* v45 random locations widget + normal header menu */
#random-locations-box{
  left:0!important;
  bottom:20px!important;
  top:auto!important;
  z-index:950!important;
  align-items:flex-end!important;
}
#random-locations-handle{
  background:linear-gradient(135deg,var(--p22-gold-light),var(--p22-gold))!important;
  color:#171717!important;
  border-radius:0!important;
  box-shadow:0 14px 34px rgba(0,0,0,.18)!important;
}
#random-locations-handle svg{
  fill:#171717!important;
  color:#171717!important;
}
#random-locations-list{
  border:1px solid rgba(185,144,70,.25)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.18)!important;
}
.pro22-normal-menu .menu-item{
  list-style:none!important;
  margin:0!important;
}
.pro22-normal-menu ul,
.pro22-normal-menu .menu{
  display:flex!important;
  align-items:center!important;
  gap:30px!important;
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}
.pro22-normal-menu li a{
  font-size:.78rem!important;
  line-height:1!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  color:#242629!important;
  font-weight:500!important;
  white-space:nowrap!important;
}
@media(max-width:767px){
  #random-locations-box{
    bottom:86px!important;
    max-width:min(270px,calc(100vw - 18px))!important;
  }
  #random-locations-handle{
    width:46px!important;
    height:46px!important;
    flex-basis:46px!important;
  }
  #random-locations-box.open #random-locations-list{
    width:min(220px,calc(100vw - 66px))!important;
  }
}


/* v46 location/archive shared header-footer and random locations border */
#random-locations-list{
  border:0!important;
}
#random-locations-box{
  bottom:20px!important;
}
body.single-lp,
body.post-type-archive-lp,
body.tax-lp,
body[class*="lp-template"],
body[class*="post-type-archive-lp"]{
  background:#fbfaf6!important;
}
body.single-lp .wp-site-blocks,
body.post-type-archive-lp .wp-site-blocks{
  margin:0!important;
  padding:0!important;
}
body.single-lp .wp-site-blocks > *,
body.post-type-archive-lp .wp-site-blocks > *{
  margin-block-start:0!important;
}
body.single-lp main.wp-block-group,
body.post-type-archive-lp main.wp-block-group{
  margin:0!important;
  padding:0!important;
  max-width:none!important;
}
body.single-lp main.wp-block-group > .wp-block-spacer:first-child,
body.post-type-archive-lp main.wp-block-group > .wp-block-spacer:first-child{
  display:none!important;
  height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
}
.pro22-block-header,
.pro22-site-header,
body.single-lp .pro22-normal-header,
body.post-type-archive-lp .pro22-normal-header{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:rgba(251,250,246,.98)!important;
  border-bottom:1px solid rgba(185,144,70,.18)!important;
  position:relative!important;
  z-index:100!important;
}
.pro22-block-header > .wp-block-group__inner-container,
.pro22-block-header .pro22-normal-nav,
.pro22-site-header,
body.single-lp .pro22-normal-nav,
body.post-type-archive-lp .pro22-normal-nav{
  max-width:1720px!important;
  width:100%!important;
  margin:0 auto!important;
  padding:14px 32px!important;
  min-height:90px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:28px!important;
  box-sizing:border-box!important;
}
.pro22-block-header .wp-block-site-logo img,
.pro22-site-header .wp-block-site-logo img{
  max-width:100px!important;
  max-height:70px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}
.pro22-block-header .wp-block-navigation,
.pro22-site-header .wp-block-navigation{
  flex:1 1 auto!important;
  justify-content:center!important;
  font-size:.78rem!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  font-weight:500!important;
}
.pro22-block-header .wp-block-navigation a,
.pro22-site-header .wp-block-navigation a{
  color:#242629!important;
  text-decoration:none!important;
}
.pro22-block-header .wp-block-navigation a:hover,
.pro22-site-header .wp-block-navigation a:hover{
  color:var(--p22-gold-dark)!important;
}
.pro22-block-header .wp-block-button__link,
.pro22-site-header .wp-block-button__link{
  border-radius:0!important;
  background:var(--p22-gold)!important;
  color:#171717!important;
  border:1px solid var(--p22-gold)!important;
  padding:14px 22px!important;
  text-decoration:none!important;
  font-size:.8rem!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.pro22-block-footer,
.pro22-footer,
body.single-lp .pro22-normal-footer,
body.post-type-archive-lp .pro22-normal-footer{
  clear:both!important;
  width:100%!important;
  max-width:none!important;
  margin:64px 0 0!important;
  padding:28px 0!important;
  background:#171717!important;
  color:#fff!important;
  border-top:1px solid rgba(185,144,70,.28)!important;
  position:relative!important;
  z-index:10!important;
}
.pro22-block-footer > .wp-block-group__inner-container,
.pro22-block-footer .pro22-normal-footer__inner,
.pro22-footer > .wp-block-group__inner-container,
body.single-lp .pro22-normal-footer__inner,
body.post-type-archive-lp .pro22-normal-footer__inner{
  max-width:1720px!important;
  width:calc(100% - 48px)!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
}
.pro22-block-footer p,
.pro22-footer p,
.pro22-normal-footer__text{
  color:rgba(255,255,255,.78)!important;
  margin:0!important;
  font-size:.88rem!important;
}
.pro22-block-footer .pro22-footer-actions,
.pro22-footer .pro22-footer-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  margin-left:auto!important;
  position:static!important;
}
.pro22-block-footer .pro22-social-follow,
.pro22-footer .pro22-social-follow{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
.pro22-block-footer .wp-social-link,
.pro22-footer .wp-social-link,
.pro22-block-footer .pro22-social-follow a,
.pro22-footer .pro22-social-follow a{
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(185,144,70,.45)!important;
  color:var(--p22-gold-light)!important;
  background:transparent!important;
}
.pro22-block-footer .wp-social-link svg,
.pro22-footer .wp-social-link svg{
  width:16px!important;
  height:16px!important;
}
.pro22-block-footer .pro22-scroll-top,
.pro22-footer .pro22-scroll-top{
  position:static!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  border:1px solid var(--p22-gold)!important;
  background:var(--p22-gold)!important;
  color:#171717!important;
  display:inline-grid!important;
  place-items:center!important;
  margin:0!important;
  border-radius:0!important;
}
.lp-container,
.loc-archive-wrapper{
  margin-top:0!important;
  box-shadow:0 18px 60px rgba(23,23,23,.06)!important;
  border:1px solid rgba(185,144,70,.14)!important;
}
.lp-container h1,
.loc-archive-title{
  font-family:Georgia,'Times New Roman',serif!important;
  font-weight:400!important;
  color:#242629!important;
}
.loc-button,
.city-popup-link{
  background:#171717!important;
  border-radius:0!important;
}
.loc-button:hover,
.loc-button:focus,
.loc-button.is-active,
.city-popup-link:hover{
  background:var(--p22-gold)!important;
  color:#171717!important;
}
@media(max-width:991px){
  .pro22-block-header .pro22-normal-nav,
  .pro22-site-header,
  body.single-lp .pro22-normal-nav,
  body.post-type-archive-lp .pro22-normal-nav{
    min-height:76px!important;
    padding:12px 18px!important;
    gap:16px!important;
    flex-wrap:wrap!important;
  }
  .pro22-block-footer .pro22-normal-footer__inner,
  .pro22-footer > .wp-block-group__inner-container,
  body.single-lp .pro22-normal-footer__inner,
  body.post-type-archive-lp .pro22-normal-footer__inner{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .lp-container,
  .loc-archive-wrapper{
    padding:42px 18px!important;
  }
}


/* v47 location/block footer social border removal */
body.single-lp .pro22-block-footer .pro22-social-follow a,
body.post-type-archive-lp .pro22-block-footer .pro22-social-follow a,
body.single-lp .pro22-footer .pro22-social-follow a,
body.post-type-archive-lp .pro22-footer .pro22-social-follow a,
body.single-lp .pro22-block-footer .wp-social-link,
body.post-type-archive-lp .pro22-block-footer .wp-social-link,
body.single-lp .pro22-footer .wp-social-link,
body.post-type-archive-lp .pro22-footer .wp-social-link,
.pro22-block-footer .pro22-social-follow a,
.pro22-block-footer .wp-social-link{
  border:0!important;
}


/* v48 location page logo + WhatsApp icon cleanup */
body.single-lp .pro22-location-logo-fallback,
body.post-type-archive-lp .pro22-location-logo-fallback{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex:0 0 auto!important;
  text-decoration:none!important;
}
body.single-lp .pro22-location-logo-fallback img,
body.post-type-archive-lp .pro22-location-logo-fallback img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100px!important;
  max-height:70px!important;
  object-fit:contain!important;
}
body.single-lp .pro22-block-header .wp-block-site-logo,
body.post-type-archive-lp .pro22-block-header .wp-block-site-logo{
  display:none!important;
}
body.single-lp .pro22-block-header .pro22-normal-nav,
body.post-type-archive-lp .pro22-block-header .pro22-normal-nav{
  justify-content:space-between!important;
}

/* Location WhatsApp: remove black ring/border and keep stable bottom-right position */
body.single-lp .wpbb-global-whatsapp,
body.post-type-archive-lp .wpbb-global-whatsapp{
  position:fixed!important;
  right:22px!important;
  bottom:22px!important;
  left:auto!important;
  top:auto!important;
  z-index:9999!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
}
body.single-lp .wpbb-global-whatsapp *,
body.post-type-archive-lp .wpbb-global-whatsapp *{
  box-sizing:border-box!important;
}
body.single-lp .wpbb-global-whatsapp .wpbb-wa-trigger,
body.post-type-archive-lp .wpbb-global-whatsapp .wpbb-wa-trigger,
body.single-lp .wpbb-global-whatsapp > a,
body.post-type-archive-lp .wpbb-global-whatsapp > a,
body.single-lp .wpbb-global-whatsapp > button,
body.post-type-archive-lp .wpbb-global-whatsapp > button{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  max-width:58px!important;
  max-height:58px!important;
  border:0!important;
  outline:0!important;
  border-radius:50%!important;
  background:#25d366!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  line-height:1!important;
  box-shadow:0 14px 32px rgba(0,0,0,.18)!important;
  text-decoration:none!important;
}
body.single-lp .wpbb-global-whatsapp .wpbb-wa-trigger:before,
body.post-type-archive-lp .wpbb-global-whatsapp .wpbb-wa-trigger:before,
body.single-lp .wpbb-global-whatsapp .wpbb-wa-trigger:after,
body.post-type-archive-lp .wpbb-global-whatsapp .wpbb-wa-trigger:after,
body.single-lp .wpbb-global-whatsapp > a:before,
body.post-type-archive-lp .wpbb-global-whatsapp > a:before,
body.single-lp .wpbb-global-whatsapp > a:after,
body.post-type-archive-lp .wpbb-global-whatsapp > a:after{
  display:none!important;
  content:none!important;
}
body.single-lp .wpbb-global-whatsapp svg,
body.post-type-archive-lp .wpbb-global-whatsapp svg{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  max-width:28px!important;
  max-height:28px!important;
  display:block!important;
  color:#fff!important;
  fill:currentColor!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
body.single-lp .wpbb-global-whatsapp .wpbb-wa-card,
body.post-type-archive-lp .wpbb-global-whatsapp .wpbb-wa-card{
  right:0!important;
  bottom:74px!important;
  width:min(320px,calc(100vw - 34px))!important;
  max-width:320px!important;
  border:0!important;
  overflow:hidden!important;
}
@media(max-width:767px){
  body.single-lp .wpbb-global-whatsapp,
  body.post-type-archive-lp .wpbb-global-whatsapp{
    right:16px!important;
    bottom:16px!important;
  }
  body.single-lp .pro22-location-logo-fallback img,
  body.post-type-archive-lp .pro22-location-logo-fallback img{
    max-width:84px!important;
    max-height:56px!important;
  }
}


/* v49 quote section contact badge */
.pro22-quote-panel .pro22-kicker,
#quote .pro22-kicker{
  display:inline-flex!important;
  align-items:center!important;
  gap:12px!important;
  min-height:46px!important;
  padding:12px 18px!important;
  margin-bottom:22px!important;
  background:rgba(255,255,255,.94)!important;
  color:#171717!important;
  border:1px solid rgba(185,144,70,.34)!important;
  box-shadow:inset 0 3px 0 var(--p22-gold),0 16px 42px rgba(0,0,0,.12)!important;
  backdrop-filter:blur(10px)!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  font-weight:500!important;
}
.pro22-quote-panel .pro22-kicker:before,
#quote .pro22-kicker:before{
  content:""!important;
  width:42px!important;
  height:1px!important;
  background:linear-gradient(90deg,var(--p22-gold-light),var(--p22-gold),transparent)!important;
  flex:0 0 auto!important;
}
.pro22-quote-panel .pro22-react-section-head,
#quote .pro22-react-section-head{
  margin-bottom:0!important;
}


/* v50 quote kicker transparent white */
.pro22-quote-panel .pro22-kicker,
#quote .pro22-kicker{
  background:transparent!important;
  color:rgba(255,255,255,.88)!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  padding:0!important;
  min-height:0!important;
  margin-bottom:22px!important;
  letter-spacing:.18em!important;
  font-weight:500!important;
}
.pro22-quote-panel .pro22-kicker:before,
#quote .pro22-kicker:before{
  content:""!important;
  width:48px!important;
  height:1px!important;
  background:linear-gradient(90deg,var(--p22-gold-light),rgba(255,255,255,.2))!important;
  flex:0 0 auto!important;
}
