/* Hornets popup UI - Book Now popup only. UI only: no form logic here. Scoped to #popup.hp-popup. */
#popup.hp-popup{width:400px;max-width:calc(100vw - 32px);max-height:calc(100vh - 24px);overflow-x:hidden;overflow-y:auto;padding:0;background:#fff;border:0;border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.45);color:#1c1c1c;text-align:left}
#popup.hp-popup .hp-head{position:relative;background:#111;padding:26px 56px 46px 22px;overflow:hidden}
#popup.hp-popup .hp-hex{position:absolute;right:0;top:0;height:100%;width:62%;pointer-events:none}
#popup.hp-popup .hp-head h2{position:relative;margin:0;padding:0;color:#fff;font-size:22px !important;font-weight:500;line-height:1.25;text-align:left}
#popup.hp-popup .close-button{position:absolute;top:12px;right:12px;width:30px;height:30px;margin:0;padding:0;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:13px;line-height:30px;text-align:center;z-index:3;cursor:pointer}
#popup.hp-popup .close-button:hover{background:#f57607;color:#fff}
#popup.hp-popup .hp-call{position:relative;display:flex;align-items:center;gap:12px;margin:-28px 18px 0;padding:12px 14px;background:#f57607;border-radius:14px;color:#fff;text-decoration:none;z-index:2}
#popup.hp-popup .hp-call-ic{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border-radius:50%;background:#fff;color:#f57607}
#popup.hp-popup .hp-call-ic svg{width:22px;height:22px}
#popup.hp-popup .hp-call-no{font-size:19px;font-weight:700;letter-spacing:.3px;color:#fff;line-height:1.2}
#popup.hp-popup .wpcf7{padding:6px 18px 22px}
#popup.hp-popup .form-group{margin:12px 0 0}
#popup.hp-popup .form-group label{display:block;margin:0;font-size:13px;font-weight:500;line-height:1.4;color:#444}
#popup.hp-popup .form-group label br{display:none}
#popup.hp-popup .wpcf7-form-control-wrap{display:block}
#popup.hp-popup .form-group input.wpcf7-text{display:block;width:100% !important;height:46px;margin:6px 0 0;padding:0 14px 0 44px;border:1.5px solid #e4e4e4;border-radius:12px;background-color:#fafafa;background-repeat:no-repeat;background-position:14px center;background-size:19px;font-size:15px;color:#1c1c1c;box-shadow:none;outline:0}
#popup.hp-popup input[name="Name"]{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f57607' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0'/><path d='M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2'/></svg>")}
#popup.hp-popup input[name="PhoneNumber"]{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f57607' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 4h4l2 5l-2.5 1.5a11 11 0 0 0 5 5l1.5 -2.5l5 2v4a2 2 0 0 1 -2 2a16 16 0 0 1 -15 -15a2 2 0 0 1 2 -2'/></svg>")}
#popup.hp-popup .form-group input.wpcf7-text:focus{border-color:#f57607;background-color:#fff;box-shadow:0 0 0 4px rgba(245,118,7,.16)}
#popup.hp-popup .wpcf7-not-valid-tip{margin-top:4px;font-size:12px;color:#c62828}
#popup.hp-popup .submit_btn_m{margin-top:18px;text-align:center}
#popup.hp-popup .submit_btn_m p{margin:0}
#popup.hp-popup input.wpcf7-submit{display:block;width:100%;height:50px;margin:0;padding:0 44px 0 20px;border:0;border-radius:12px;background-color:#111;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f57607' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14'/><path d='M13 18l6 -6'/><path d='M13 6l6 6'/></svg>");background-repeat:no-repeat;background-position:right 18px center;background-size:20px;color:#fff;font-size:15px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;cursor:pointer;transition:background-color .2s}
#popup.hp-popup input.wpcf7-submit:hover{background-color:#f57607;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14'/><path d='M13 18l6 -6'/><path d='M13 6l6 6'/></svg>")}
#popup.hp-popup.hp-loading input.wpcf7-submit,#popup.hp-popup.hp-loading input.wpcf7-submit:hover,#popup.hp-popup.hp-sent input.wpcf7-submit,#popup.hp-popup.hp-sent input.wpcf7-submit:hover,#popup.hp-popup .wpcf7-form.submitting input.wpcf7-submit,#popup.hp-popup .wpcf7-form.submitting input.wpcf7-submit:hover{background-color:#111;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='9' fill='none' stroke='%23f57607' stroke-width='3' stroke-linecap='round' stroke-dasharray='28 60'><animateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='0.8s' repeatCount='indefinite'/></circle></svg>");background-position:left 22px center;background-size:24px;padding:0 20px 0 52px;cursor:wait;opacity:1;color:#fff}
#popup.hp-popup span.wpcf7-spinner{display:none}
#popup.hp-popup .wpcf7-response-output{margin:14px 0 0;padding:10px 12px;border:1.5px solid #e4e4e4;border-radius:10px;font-size:13px;line-height:1.4;color:#444}
#popup.hp-popup .wpcf7 form.sent .wpcf7-response-output{border-color:#2e9e5b;background:#eaf7ef;color:#1d6b3c}
#popup.hp-popup .wpcf7 form.invalid .wpcf7-response-output,#popup.hp-popup .wpcf7 form.failed .wpcf7-response-output{border-color:#c62828;background:#fdeceb;color:#8e1f1f}
@media(max-width:540px){#popup.hp-popup{width:calc(100vw - 32px)}#popup.hp-popup .hp-head h2{font-size:20px !important}}

/* Thank-you page (page 644) - UI only, text unchanged. Scoped to #post-644. */
#post-644.page{padding:72px 20px 80px;background:#f6f6f6;text-align:center}
#post-644.page .entry-content{max-width:640px;margin:0 auto;padding:44px 32px 48px;background:#fff;border-top:6px solid #f57607;border-radius:20px;box-shadow:0 12px 40px rgba(0,0,0,.08)}
#post-644.page .entry-content::before{content:"";display:block;width:80px;height:80px;margin:0 auto 24px;border-radius:50%;background:#fff3e8 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f57607' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12l5 5l10 -10'/></svg>") center/40px no-repeat}
#post-644.page .entry-content p{margin:0;font-size:24px;line-height:1.6;font-weight:500;color:#1c1c1c;text-align:center}
@media(max-width:540px){#post-644.page{padding:44px 16px 52px}#post-644.page .entry-content{padding:34px 20px 38px;border-radius:16px}#post-644.page .entry-content::before{width:68px;height:68px;margin-bottom:20px;background-size:34px}#post-644.page .entry-content p{font-size:20px}}
#popup.hp-popup .hp-note{margin:14px 22px 0;padding:0;font-size:14px;line-height:1.55;color:#555;text-align:left}
#popup.hp-popup .wpcf7{padding-top:2px}

/* All certification page (page 903) - UI only, text and PDF links unchanged. Scoped to #post-903. */
#post-903.page{position:relative;padding:84px 20px 100px;background:radial-gradient(ellipse 70% 45% at 50% 0%,rgba(245,118,7,.12),transparent 70%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='56' height='100' viewBox='0 0 56 100'><g fill='none' stroke='%23f57607' stroke-opacity='.10' stroke-width='1'><path d='M28 66L0 50L0 16L28 0L56 16L56 50L28 66L28 100'/><path d='M28 0L28 34L0 50L0 84L28 100L56 84L56 50L28 34'/></g></svg>") #ffffff;counter-reset:hpcert}
#post-903.page .entry-content{max-width:1080px;margin:0 auto}
#post-903.page .entry-content>p:empty{display:none}
#post-903.page .wp-block-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:34px;margin:0;padding:0}
#post-903.page .wp-block-button{position:relative;display:flex;width:100%;margin:0;counter-increment:hpcert}
#post-903.page .wp-block-button::before{content:counter(hpcert,decimal-leading-zero);position:absolute;top:10px;left:22px;z-index:3;font-size:58px;font-weight:800;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(245,118,7,.7);pointer-events:none;letter-spacing:1px}
#post-903.page .wp-block-button__link{position:relative;display:block;flex:1;box-sizing:border-box;overflow:hidden;padding:64px 26px 32px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 140'><g fill='none' stroke='%23f57607' stroke-width='1.5' opacity='.5'><polygon points='120,10 142,22 142,46 120,58 98,46 98,22'/><polygon points='159,32 181,44 181,68 159,80 137,68 137,44'/><polygon points='120,54 142,66 142,90 120,102 98,90 98,66'/><polygon points='81,32 103,44 103,68 81,80 59,68 59,44' opacity='.5'/></g><polygon points='120,32 131,38 131,50 120,56 109,50 109,38' fill='%23f57607' opacity='.85'/></svg>") right -40px top -26px/240px no-repeat,linear-gradient(165deg,#222 0%,#101010 70%);color:#fff;border:1px solid rgba(245,118,7,.38);border-radius:26px;box-shadow:0 22px 50px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.07);font-size:17px;font-weight:600;line-height:1.5;letter-spacing:1px;text-align:center;text-decoration:none;text-transform:uppercase;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
#post-903.page .wp-block-button__link::before{content:"";display:block;width:84px;height:84px;margin:10px auto 22px;border-radius:50%;background:rgba(245,118,7,.16) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f57607' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M15 15m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'/><path d='M13 17.5v4.5l2 -1.5l2 1.5v-4.5'/><path d='M10 19h-5a2 2 0 0 1 -2 -2v-10c0 -1.1 .9 -2 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -1 1.73'/><path d='M6 9h12'/><path d='M6 12h3'/><path d='M6 15h2'/></svg>") center/42px no-repeat;box-shadow:0 0 0 8px rgba(245,118,7,.07)}
#post-903.page .wp-block-button__link.hp-has-thumb::before{display:none}
#post-903.page .wp-block-button__link::after{content:"";display:block;width:48px;height:48px;margin:26px auto 0;border-radius:50%;background:#f57607 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M17 7l-10 10'/><path d='M8 7l9 0l0 9'/></svg>") center/24px no-repeat;animation:hpPulse 2.4s ease-out infinite;transition:transform .3s ease}
#post-903.page .hp-cert-thumb{position:relative;display:block;width:78%;height:280px;margin:0 auto 26px;border:7px solid #fff;border-radius:8px;background:#fff;box-shadow:0 20px 44px rgba(0,0,0,.65),0 0 0 1px rgba(245,118,7,.55),0 0 46px rgba(245,118,7,.28);transform:rotate(-2.5deg);transition:transform .35s ease,box-shadow .35s ease;animation:hpFloat 5.5s ease-in-out infinite}
#post-903.page .wp-block-button:nth-child(2) .hp-cert-thumb{transform:rotate(2deg);animation-delay:-1.8s}
#post-903.page .wp-block-button:nth-child(3) .hp-cert-thumb{transform:rotate(-1.5deg);animation-delay:-3.4s}
#post-903.page .hp-cert-thumb canvas,#post-903.page .hp-cert-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;border-radius:2px}
#post-903.page .hp-cert-thumb::before{content:"";position:absolute;inset:0;z-index:2;border-radius:2px;pointer-events:none;background:linear-gradient(115deg,transparent 36%,rgba(255,255,255,.6) 50%,transparent 64%) no-repeat;background-size:260% 100%;background-position:160% 0;animation:hpShine 4.2s ease-in-out infinite}
#post-903.page .hp-cert-thumb::after{content:"";position:absolute;z-index:3;top:-20px;right:-20px;width:48px;height:48px;border:3px solid #111;border-radius:50%;background:#f57607 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12l5 5l10 -10'/></svg>") center/24px no-repeat}
#post-903.page .wp-block-button__link:hover,#post-903.page .wp-block-button__link:focus-visible{color:#fff;background-color:#111;border-color:#f57607;transform:translateY(-8px);box-shadow:0 32px 64px rgba(0,0,0,.38),0 0 50px rgba(245,118,7,.25),inset 0 1px 0 rgba(255,255,255,.1)}
#post-903.page .wp-block-button__link:hover .hp-cert-thumb{transform:rotate(0) scale(1.05)}
#post-903.page .wp-block-button__link:hover::after{transform:translate(4px,-4px) scale(1.08)}
@keyframes hpFloat{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes hpShine{0%,52%{background-position:160% 0}100%{background-position:-70% 0}}
@keyframes hpPulse{0%{box-shadow:0 0 0 0 rgba(245,118,7,.55)}70%,100%{box-shadow:0 0 0 16px rgba(245,118,7,0)}}
@media(max-width:540px){#post-903.page{padding:52px 16px 64px}#post-903.page .wp-block-buttons{gap:26px}#post-903.page .hp-cert-thumb{width:72%;height:250px}#post-903.page .wp-block-button::before{font-size:48px;left:18px}}
@media(prefers-reduced-motion:reduce){#post-903.page .hp-cert-thumb,#post-903.page .hp-cert-thumb::before,#post-903.page .wp-block-button__link::after{animation:none}}
#post-903.page .entry-content>h2{position:relative;margin:0 0 20px !important;padding:0 0 22px !important;text-align:center !important;font-size:42px !important;font-weight:700 !important;line-height:1.2 !important;letter-spacing:.3px !important;color:#111 !important;text-transform:none !important}
#post-903.page .entry-content>h2::after{content:"";position:absolute;left:50%;bottom:0;width:78px;height:4px;margin-left:-39px;border-radius:4px;background:#f57607}
#post-903.page .entry-content>p.has-text-align-center{max-width:620px;margin:0 auto 56px !important;text-align:center !important;font-size:17px !important;line-height:1.75 !important;color:#555 !important}
@media(max-width:540px){#post-903.page{padding:52px 16px 64px}#post-903.page .entry-content>h2{font-size:30px !important;padding-bottom:18px !important}#post-903.page .entry-content>p.has-text-align-center{font-size:15px;margin-bottom:38px}}

/* Home carousels (Services, Partners, Team, Blog): before slick starts, lay slides out in ONE row like the final carousel, so cards do not stack and then jump.
 * Applies only to carousels not yet initialised by slick. Counts mirror the slick settings (5/4/3 desktop, 3 tablet, 2 at 768, 1 at 480). */
.stronghold-service-carousel:not(.slick-initialized),.partners-carousel:not(.slick-initialized),.stronghold-team-members-carousel:not(.slick-initialized),.stronghold-blog-carousel:not(.slick-initialized){display:flex;flex-wrap:nowrap;overflow:hidden}
.stronghold-service-carousel:not(.slick-initialized)>*,.partners-carousel:not(.slick-initialized)>*,.stronghold-team-members-carousel:not(.slick-initialized)>*,.stronghold-blog-carousel:not(.slick-initialized)>*{box-sizing:border-box;flex:0 0 calc(100% / var(--hp-n,3));min-width:0;padding:0 15px}
.stronghold-service-carousel{--hp-n:3}
.partners-carousel{--hp-n:5}
.stronghold-team-members-carousel{--hp-n:4}
.stronghold-blog-carousel{--hp-n:3}
@media(max-width:1024px){.stronghold-service-carousel:not(.slick-initialized)>*,.partners-carousel:not(.slick-initialized)>*,.stronghold-team-members-carousel:not(.slick-initialized)>*,.stronghold-blog-carousel:not(.slick-initialized)>*{flex-basis:calc(100% / min(var(--hp-n,3),3))}}
@media(max-width:768px){.stronghold-service-carousel:not(.slick-initialized)>*,.partners-carousel:not(.slick-initialized)>*,.stronghold-team-members-carousel:not(.slick-initialized)>*,.stronghold-blog-carousel:not(.slick-initialized)>*{flex-basis:calc(100% / min(var(--hp-n,3),2))}}
@media(max-width:480px){.stronghold-service-carousel:not(.slick-initialized)>*,.partners-carousel:not(.slick-initialized)>*,.stronghold-team-members-carousel:not(.slick-initialized)>*,.stronghold-blog-carousel:not(.slick-initialized)>*{flex-basis:100%}}

/* Trusted partners: every logo card gets the same size, ONE white card per logo (the slide), plain logo inside, centred and fully visible. Click opens a bigger popup (script hornets-partner-zoom). Scoped to the partners carousel. */
.stronghold-partners-widget .partners-carousel .partner-item{box-sizing:border-box;display:flex !important;align-items:center;justify-content:center;height:170px !important;padding:22px 26px !important;background:#fff !important;border:0 !important;border-radius:16px;box-shadow:0 6px 20px rgba(0,0,0,.08) !important;cursor:zoom-in;transition:transform .25s ease,box-shadow .25s ease}
.stronghold-partners-widget .partners-carousel .partner-item:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.14) !important}
.stronghold-partners-widget .partners-carousel .partner-item img{display:block;width:auto !important;height:auto !important;max-width:100%;max-height:100%;margin:0 !important;padding:0 !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;object-fit:contain}
@media(max-width:768px){.stronghold-partners-widget .partners-carousel .partner-item{height:130px !important;padding:16px 18px !important}}
.hp-zoom{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.78);animation:hpZoomIn .2s ease}
.hp-zoom-card{position:relative;max-width:min(92vw,720px);max-height:86vh;padding:34px;background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.5);animation:hpZoomPop .25s ease}
.hp-zoom-card img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(86vh - 68px);margin:0 auto;object-fit:contain}
.hp-zoom-x{position:absolute;top:-14px;right:-14px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0;padding:0;border:3px solid #fff;border-radius:50%;background:#f57607;color:#fff;font-size:15px;line-height:1;cursor:pointer}
.hp-zoom-x:hover{background:#111}
@keyframes hpZoomIn{from{opacity:0}to{opacity:1}}
@keyframes hpZoomPop{from{transform:scale(.9);opacity:0}to{transform:none;opacity:1}}

/* Contact map (home, replaces the left image): branch buttons + Google Map + address + Get Directions / Share. Scoped to .hp-map. */
.hp-map{box-sizing:border-box;width:100%;background:#fff;border:1px solid #ececec;border-radius:20px;overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.10)}
.hp-map *{box-sizing:border-box}
.hp-map-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:18px 18px 0}
.hp-map-tab{flex:0 0 auto;margin:0;padding:7px 13px;border:1px solid #e3e3e3;border-radius:999px;background:#fff;color:#333;font-size:12.5px;font-weight:600;line-height:1.2;letter-spacing:.2px;text-transform:none;outline:0;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}
.hp-map-tab:hover{border-color:#c8171f;color:#c8171f}
.hp-map-tab.is-active,.hp-map-tab.is-active:hover{background:#c8171f;border-color:#c8171f;color:#fff;box-shadow:0 6px 16px rgba(200,23,31,.28)}
.hp-map-frame{position:relative;height:400px;margin:18px;overflow:hidden;border-radius:14px;background:#e8eef0}
.hp-map-frame iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0}
.hp-map-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:2px 22px 22px}
.hp-map-text{flex:1 1 260px;min-width:0}
.hp-map-name{margin:0 0 5px;font-size:19px;font-weight:700;line-height:1.3;color:#111}
.hp-map-addr{margin:0;font-size:14px;line-height:1.6;color:#555}
.hp-map-actions{display:flex;flex:0 0 auto;gap:10px}
.hp-map-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:0;padding:12px 20px;border:1px solid #c8171f;border-radius:12px;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.hp-map-dir{background:#c8171f;color:#fff}
.hp-map-dir:hover{background:#a8121a;border-color:#a8121a;color:#fff;transform:translateY(-2px);box-shadow:0 8px 18px rgba(200,23,31,.3)}
.hp-map-share{background:#fff;color:#c8171f}
.hp-map-share:hover{background:#fdecec;color:#a8121a;transform:translateY(-2px)}
@media(max-width:768px){.hp-map-frame{height:300px;margin:14px}.hp-map-tabs{padding:14px 14px 0}.hp-map-info{padding:2px 16px 18px}.hp-map-actions{width:100%}.hp-map-btn{flex:1 1 0}}
.hp-map-tab:focus{outline:0}
.hp-map-tab:focus-visible{box-shadow:0 0 0 3px rgba(200,23,31,.3)}
.hp-map-tabs{gap:6px;padding:16px 16px 0}
/* Contact map tab states: the theme has a global button:hover (dark background, white text) and button:focus/:active (inset shadow) - set every state explicitly so text is always readable. */
.hp-map .hp-map-tab:focus,.hp-map .hp-map-tab:active{background:#fff;border-color:#e3e3e3;color:#333;box-shadow:none;outline:0}
.hp-map .hp-map-tab:hover{background:#fdecec;border-color:#c8171f;color:#c8171f;box-shadow:none}
.hp-map .hp-map-tab.is-active,.hp-map .hp-map-tab.is-active:hover,.hp-map .hp-map-tab.is-active:focus,.hp-map .hp-map-tab.is-active:active{background:#c8171f;border-color:#c8171f;color:#fff;box-shadow:0 6px 16px rgba(200,23,31,.28)}
.hp-map .hp-map-tab:focus-visible{box-shadow:0 0 0 3px rgba(200,23,31,.3)}
.hp-map .hp-map-tab.is-active:focus-visible{box-shadow:0 0 0 3px rgba(200,23,31,.35),0 6px 16px rgba(200,23,31,.28)}

/* Home reviews (Google reviews grid widget, container 27bd1d8e, now above Our Projects): breathing space above/below. The widget itself is third-party and not restyled. */
.elementor-element-27bd1d8e{padding-top:70px !important;padding-bottom:70px !important}
.elementor-element-27bd1d8e .col-md-12{max-width:1180px}
@media(max-width:768px){.elementor-element-27bd1d8e{padding-top:40px !important;padding-bottom:40px !important}}
/* Reviews heading ("What Our Customers Say"): centred, same look as the other section headings. */
.hp-reviews-head{margin:0 0 38px;text-align:center}
.hp-reviews-head .heading-subtitle{display:flex;justify-content:center}
.hp-reviews-head .heading-title,.hp-reviews-head .heading-title-element{text-align:center}
@media(max-width:768px){.hp-reviews-head{margin-bottom:26px}}
/* Reviews heading v2: same as above but forced (!important) and with more space before the cards. */
.elementor-element-27bd1d8e .hp-reviews-head{margin:0 0 56px !important;text-align:center !important}
.elementor-element-27bd1d8e .hp-reviews-head .heading-subtitle{display:flex !important;justify-content:center !important}
.elementor-element-27bd1d8e .hp-reviews-head .heading-title,.elementor-element-27bd1d8e .hp-reviews-head .heading-title-element{text-align:center !important}
@media(max-width:768px){.elementor-element-27bd1d8e .hp-reviews-head{margin-bottom:34px !important}}
/* Reviews all button + popup: "See all reviews" (red button under the carousel) opens the full list in a popup. Theme has a global button:hover (dark bg), so every state is explicit. */
.hp-reviews-more{display:flex;justify-content:center;margin-top:36px}
.hp-reviews-all,.hp-reviews-all:focus,.hp-reviews-all:active{margin:0;padding:14px 36px;border:0;border-radius:12px;background:#c8171f;color:#fff;font-size:15px;font-weight:700;letter-spacing:.3px;line-height:1.2;text-transform:none;box-shadow:0 8px 20px rgba(200,23,31,.28);cursor:pointer;outline:0;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.hp-reviews-all:hover{background:#a8121a;color:#fff;transform:translateY(-2px);box-shadow:0 12px 26px rgba(200,23,31,.36)}
html.hp-modal-open{overflow:hidden}
.hp-reviews-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.72);animation:hpZoomIn .2s ease}
.hp-reviews-modal-card{display:flex;flex-direction:column;width:min(1120px,100%);max-height:90vh;overflow:hidden;background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.5);animation:hpZoomPop .25s ease}
.hp-reviews-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid #eee}
.hp-reviews-modal-head h3{margin:0;font-size:22px;font-weight:700;line-height:1.3;color:#111}
.hp-reviews-modal-x,.hp-reviews-modal-x:focus,.hp-reviews-modal-x:active{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:38px;height:38px;margin:0;padding:0;border:0;border-radius:50%;background:#c8171f;color:#fff;font-size:14px;line-height:1;box-shadow:none;cursor:pointer;outline:0}
.hp-reviews-modal-x:hover{background:#111;color:#fff}
.hp-reviews-modal-body{flex:1 1 auto;overflow-y:auto;padding:22px 24px 28px}
@media(max-width:768px){.hp-reviews-modal{padding:10px}.hp-reviews-modal-card{max-height:94vh;border-radius:16px}.hp-reviews-modal-head{padding:14px 16px}.hp-reviews-modal-head h3{font-size:18px}.hp-reviews-modal-body{padding:16px}}
/* Reviews layout v3: heading LEFT like the other sections; button always BELOW the cards (the widget appends its container at the end of the column, so use flex order); skeleton placeholders until the cards arrive. */
.elementor-element-27bd1d8e .col-md-12{display:flex !important;flex-direction:column}
.elementor-element-27bd1d8e .col-md-12 .hp-reviews-head{order:0;margin:0 0 34px !important;text-align:left !important}
.elementor-element-27bd1d8e .col-md-12 .hp-reviews-head .heading-subtitle{display:flex !important;justify-content:flex-start !important}
.elementor-element-27bd1d8e .col-md-12 .hp-reviews-head .heading-title,.elementor-element-27bd1d8e .col-md-12 .hp-reviews-head .heading-title-element{text-align:left !important}
.elementor-element-27bd1d8e .col-md-12 .hp-reviews-skel{order:1}
.elementor-element-27bd1d8e .col-md-12 .widget-container{order:1}
.elementor-element-27bd1d8e .col-md-12 .hp-reviews-more{order:2}
.hp-reviews-skel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;min-height:300px}
.hp-skel-card{display:flex;flex-direction:column;gap:12px;padding:22px;background:#fff;border:1px solid #ececec;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.05)}
.hp-skel-top{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.hp-skel-lines{display:flex;flex:1;flex-direction:column;gap:8px}
.hp-skel{display:block;border-radius:8px;background:linear-gradient(90deg,#eceff1 25%,#f7f8f9 45%,#eceff1 65%);background-size:200% 100%;animation:hpShimmer 1.4s ease-in-out infinite}
.hp-skel-av{width:48px;height:48px;border-radius:50%;flex:0 0 auto}
.hp-skel-l1{width:55%;height:14px}
.hp-skel-l2{width:35%;height:11px}
.hp-skel-t{width:100%;height:12px}
.hp-skel-short{width:60%}
.hp-skel-stars{width:110px;height:16px;margin-top:6px}
@keyframes hpShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@media(max-width:1024px){.hp-reviews-skel{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.hp-reviews-skel{grid-template-columns:1fr;min-height:0}.hp-reviews-skel .hp-skel-card:nth-child(n+2){display:none}.elementor-element-27bd1d8e .col-md-12 .hp-reviews-head{margin-bottom:24px !important}}
@media(prefers-reduced-motion:reduce){.hp-skel{animation:none}}
/* Reviews skeleton v2: same height as the real carousel (no jump when cards arrive); 2 placeholder cards on tablet. */
.hp-reviews-skel{min-height:0}
.hp-reviews-skel .hp-skel-card{min-height:300px}
@media(max-width:1024px){.hp-reviews-skel .hp-skel-card:nth-child(3){display:none}}
@media(max-width:640px){.hp-reviews-skel .hp-skel-card{min-height:280px}}
/* Reviews no stacking: while the skeleton is shown, the (still empty) widget container must not take space below it, otherwise the real cards seem to appear in a "next row" and then jump up. It stays rendered (same width, invisible) and drops back into the flow the moment the skeleton is removed. */
.elementor-element-27bd1d8e .col-md-12{position:relative}
.elementor-element-27bd1d8e .col-md-12 .hp-reviews-skel ~ .widget-container{position:absolute;left:0;right:0;visibility:hidden;pointer-events:none}

/* ===== Service page UI (body.hp-svc) - added 2026-10-09 ===== */
.hp-svc body{background:#f6f3ef}
.hp-svc .hp-ic{display:inline-block;flex:none;width:22px;height:22px;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.hp-svc .i-doc{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M14%203H6a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V9z'%2F%3E%3Cpath%20d%3D'M14%203v6h6M8%2013h8M8%2017h6'%2F%3E%3C%2Fsvg%3E")}
.hp-svc .i-eye{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M1%2012s4-8%2011-8%2011%208%2011%208-4%208-11%208S1%2012%201%2012z'%2F%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'3'%2F%3E%3C%2Fsvg%3E")}
.hp-svc .i-star{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%202l3%207%207%20.6-5.3%204.7%201.7%207.2L12%2017.8l-6.4%203.7%201.7-7.2L2%209.6%209%209z'%2F%3E%3C%2Fsvg%3E")}
.hp-svc .i-steps{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M3%2017h4v4H3zM10%2010h4v4h-4zM17%203h4v4h-4z'%2F%3E%3Cpath%20d%3D'M7%2017v-3h3M14%2010V7h3'%2F%3E%3C%2Fsvg%3E")}
.hp-svc .i-shield{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%202l8%203v6c0%205-3.5%209-8%2011-4.5-2-8-6-8-11V5l8-3z'%2F%3E%3Cpath%20d%3D'M8.5%2012l2.5%202.5L16%209.5'%2F%3E%3C%2Fsvg%3E")}
.hp-svc .i-drop{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%203s6%206.5%206%2011a6%206%200%200%201-12%200c0-4.5%206-11%206-11z'%2F%3E%3C%2Fsvg%3E")}
.hp-svc .i-drop2{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%203s6%206.5%206%2011a6%206%200%200%201-12%200c0-4.5%206-11%206-11z'%2F%3E%3Cpath%20d%3D'M9%2015a3%203%200%200%200%203%203'%2F%3E%3C%2Fsvg%3E")}
.hp-svc .i-search{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'11'%20cy%3D'11'%20r%3D'7'%2F%3E%3Cpath%20d%3D'M21%2021l-4.5-4.5'%2F%3E%3C%2Fsvg%3E")}
.hp-svc .i-user{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'8'%20r%3D'4'%2F%3E%3Cpath%20d%3D'M4%2021a8%208%200%200%201%2016%200'%2F%3E%3C%2Fsvg%3E")}
.hp-svc .i-bolt{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M13%202L4%2014h7l-1%208%209-12h-7z'%2F%3E%3C%2Fsvg%3E")}
.hp-svc .i-spray{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'9'%2F%3E%3Cpath%20d%3D'M8%2012h8M12%208v8'%2F%3E%3C%2Fsvg%3E")}
.hp-svc .i-wind{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4%208h10a3%203%200%201%200-3-3M4%2012h14a3%203%200%201%201-3%203M4%2016h8'%2F%3E%3C%2Fsvg%3E")}
.hp-svc .i-coin{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'9'%2F%3E%3Cpath%20d%3D'M9%209h5a2%202%200%200%201%200%204H9l5%204'%2F%3E%3C%2Fsvg%3E")}
.hp-svc .i-q{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'10'%2F%3E%3Cpath%20d%3D'M9.1%209a3%203%200%200%201%205.8%201c0%202-3%202.5-3%204M12%2017h.01'%2F%3E%3C%2Fsvg%3E")}
.hp-svc .i-tag{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M20.6%2013.4l-7.2%207.2a2%202%200%200%201-2.8%200L3%2013V3h10l7.6%207.6a2%202%200%200%201%200%202.8z'%2F%3E%3Ccircle%20cx%3D'7.5'%20cy%3D'7.5'%20r%3D'1.5'%2F%3E%3C%2Fsvg%3E")}
.hp-svc .page-title-wrapper-bg{background:#0b0b0b!important;overflow:hidden;padding:70px 0 96px!important;position:relative}
.hp-svc .page-title-wrapper-bg-overlay{display:none!important}
.hp-svc .page-header-parallax-layer{z-index:0}
.hp-svc .page-title-wrapper-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,11,11,.8) 20%,rgba(11,11,11,.45) 60%,rgba(11,11,11,.22));z-index:1}
.hp-svc .page-title-wrapper-bg::after{content:"";position:absolute;right:-30px;top:-20px;width:520px;height:364px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20200%20140'%20fill%3D'none'%20stroke%3D'%23f57607'%20stroke-width%3D'1.2'%3E%3Cpolygon%20points%3D'120%2C10%20142%2C22%20142%2C46%20120%2C58%2098%2C46%2098%2C22'%2F%3E%3Cpolygon%20points%3D'159%2C32%20181%2C44%20181%2C68%20159%2C80%20137%2C68%20137%2C44'%2F%3E%3Cpolygon%20points%3D'120%2C54%20142%2C66%20142%2C90%20120%2C102%2098%2C90%2098%2C66'%2F%3E%3Cpolygon%20points%3D'81%2C32%20103%2C44%20103%2C68%2081%2C80%2059%2C68%2059%2C44'%2F%3E%3Cpolygon%20points%3D'159%2C76%20181%2C88%20181%2C112%20159%2C124%20137%2C112%20137%2C88'%2F%3E%3Cpolygon%20points%3D'120%2C32%20131%2C38%20131%2C50%20120%2C56%20109%2C50%20109%2C38'%20fill%3D'%23f57607'%2F%3E%3C%2Fsvg%3E") no-repeat right top/contain;opacity:.5;pointer-events:none;z-index:1}
.hp-svc .page-title-wrapper-bg .container{position:relative;z-index:2}
.hp-svc .page-title-wrapper-bg .row{display:flex;flex-direction:column;align-items:flex-start}
.hp-svc .strhld-breadcrumb{order:-1;margin-bottom:18px}
.hp-svc .strhld-page-title h1{color:#fff!important;font-family:Manrope,sans-serif!important;font-size:40px!important;line-height:1.25!important;font-weight:800!important;margin:0 0 6px!important}
.hp-svc .strhld-page-title h1::after{content:"";display:block;width:90px;height:6px;border-radius:6px;background:#f57607;margin-top:18px}
.hp-svc .hp-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.hp-svc .hp-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:12px;font-family:Manrope,sans-serif;font-weight:700;font-size:15px;text-decoration:none;transition:.2s}
.hp-svc .hp-btn.or{background:#f57607;color:#fff;box-shadow:0 8px 22px rgba(245,118,7,.4)}
.hp-svc .hp-btn.or:hover{transform:translateY(-2px);color:#fff}
.hp-svc .hp-btn.ghost{border:2px solid rgba(255,255,255,.5);color:#fff}
.hp-svc .hp-btn.ghost:hover{background:#fff;color:#111}
.hp-svc .col-md-8,.hp-svc .col-md-4{position:relative;z-index:3;margin-top:-52px}
.hp-svc .col-md-8>h1{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hp-svc .col-md-8>div>figure{display:none}
.hp-svc .col-md-8>div>figure{margin:0 0 24px}
.hp-svc .col-md-8>div>figure img{width:100%;max-height:360px;object-fit:cover;border-radius:20px;box-shadow:0 14px 40px rgba(0,0,0,.12)}
.hp-svc .split.section{padding:0!important;background:transparent!important}
.hp-svc .blog-post-wrapper{margin-top:0!important}
.hp-svc .blog-post-wrapper>header{display:none}
.hp-svc .blog-post{font-family:"DM Sans",sans-serif;color:#6a6a6a;font-size:16px;line-height:1.8}
.hp-svc .hp-card,.hp-svc .thfaqf-faq-list{background:#fff;border-radius:20px;box-shadow:0 14px 40px rgba(0,0,0,.07);border:1px solid #f0ebe5;padding:34px;margin:0 0 26px}
.hp-svc .hp-card p{margin:0 0 16px}
.hp-svc .hp-card p:last-child{margin-bottom:0}
.hp-svc .hp-bar,.hp-svc .thfaqf-faq-list-title{display:flex!important;align-items:center;gap:14px;background:#111!important;color:#fff!important;border-radius:14px;padding:14px 20px!important;margin:0 0 22px!important;font-family:Manrope,sans-serif!important;font-size:22px!important;font-weight:800!important;line-height:1.3;position:relative}
.hp-svc .hp-bar::before,.hp-svc .thfaqf-faq-list-title::before{content:"";width:6px;align-self:stretch;background:#f57607;border-radius:4px;flex:none}
.hp-svc .hp-bar .hp-ic{color:#f57607}
.hp-svc .thfaqf-faq-list-title::after{content:none}
.hp-svc .hp-quote{border-left:5px solid #f57607;background:#fbf7f2;padding:18px 22px;border-radius:0 14px 14px 0;font-size:18px;font-weight:500;color:#222;margin:20px 0}
.hp-svc .hp-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hp-svc .hp-tiles.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.hp-svc .hp-tile{display:flex;align-items:center;gap:14px;background:#fbf7f2;border:1px solid #efe4d8;border-radius:16px;padding:16px;transition:.2s}
.hp-svc .hp-tile:hover{border-color:#f57607;transform:translateY(-3px);box-shadow:0 10px 24px rgba(245,118,7,.12)}
.hp-svc .hp-tile .hp-ib{flex:none;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#f57607,#ff9a3d);color:#fff;display:flex;align-items:center;justify-content:center}
.hp-svc .hp-tile .hp-ic{width:24px;height:24px}
.hp-svc .hp-tile b{font-family:Manrope,sans-serif;font-size:15px;line-height:1.4;color:#1d1d18;font-weight:700}
.hp-svc .hp-steps{display:grid;gap:14px}
.hp-svc .hp-step{display:flex;gap:18px;align-items:flex-start;background:#fbf7f2;border:1px solid #efe4d8;border-radius:16px;padding:18px 20px;transition:.2s}
.hp-svc .hp-step:hover{transform:translateX(6px);border-color:#f57607;box-shadow:0 10px 24px rgba(245,118,7,.12)}
.hp-svc .hp-step b{flex:none;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#f57607,#ff9a3d);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800}
.hp-svc .hp-step span{padding-top:9px;font-size:16px;line-height:1.6;color:#555}
.hp-svc .hp-safe{display:flex;gap:18px;background:linear-gradient(120deg,#111,#2a1a0c);color:#eee;border-radius:18px;padding:26px}
.hp-svc .hp-safe .hp-ic{flex:none;width:52px;height:52px;color:#f57607}
.hp-svc .hp-safe p{color:#ddd;margin:0!important}
.hp-svc .hp-safe a{color:#f57607;font-weight:800}
.hp-svc .thfaqf-faq-item{margin:12px 0!important;border-radius:12px!important;overflow:hidden;border:1px solid #ececec;box-shadow:0 4px 14px rgba(0,0,0,.04)}
.hp-svc .thfaqf-faq-item-title{background:#fff!important;border:0!important;margin:0!important;padding:4px 6px}
.hp-svc .thfaqf-faq-item-title h4{font-family:Manrope,sans-serif;font-size:18px;font-weight:700;margin:0;padding:12px 10px;line-height:1.4}
.hp-svc .thfaqf-faq-item-content{background:#fffaf5!important;border:0!important;border-top:1px solid #f3e7da!important;padding:14px 18px;color:#444!important}
.hp-svc .thfaqf-faq-item-content p{margin:0;font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.7}
.hp-svc .col-md-4{align-self:flex-start;position:sticky;top:112px}
.hp-svc .callConnectRight{display:none!important}
.hp-svc .hp-wa-card{background:linear-gradient(135deg,#f57607,#e25a00);color:#fff;border-radius:20px;padding:24px;position:relative;overflow:hidden;box-shadow:0 16px 36px rgba(245,118,7,.35);margin-bottom:22px}
.hp-svc .hp-wa-card::after{content:"";position:absolute;right:-30px;bottom:-30px;width:170px;height:119px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20200%20140'%20fill%3D'none'%20stroke%3D'%23ffffff'%20stroke-width%3D'1.2'%3E%3Cpolygon%20points%3D'120%2C10%20142%2C22%20142%2C46%20120%2C58%2098%2C46%2098%2C22'%2F%3E%3Cpolygon%20points%3D'159%2C32%20181%2C44%20181%2C68%20159%2C80%20137%2C68%20137%2C44'%2F%3E%3Cpolygon%20points%3D'120%2C54%20142%2C66%20142%2C90%20120%2C102%2098%2C90%2098%2C66'%2F%3E%3Cpolygon%20points%3D'81%2C32%20103%2C44%20103%2C68%2081%2C80%2059%2C68%2059%2C44'%2F%3E%3Cpolygon%20points%3D'159%2C76%20181%2C88%20181%2C112%20159%2C124%20137%2C112%20137%2C88'%2F%3E%3Cpolygon%20points%3D'120%2C32%20131%2C38%20131%2C50%20120%2C56%20109%2C50%20109%2C38'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E") no-repeat center/contain;opacity:.25}
.hp-svc .hp-wa-card h3{margin:0 0 14px;font-family:Manrope,sans-serif;font-size:22px;line-height:1.25;color:#fff;font-weight:800}
.hp-svc .hp-wa{position:relative;z-index:1;display:flex;align-items:center;gap:14px;background:#fff;color:#111;border-radius:14px;padding:10px 16px 10px 10px;font-family:Manrope,sans-serif;font-weight:700;font-size:16px;text-decoration:none;transition:.2s}
.hp-svc .hp-wa:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.2);color:#111}
.hp-svc .hp-wa svg{flex:none;width:40px;height:40px;padding:9px;border-radius:12px;background:#25d366;fill:#fff}
.hp-svc .hp-wa::after{content:"\203A";margin-left:auto;font-size:26px;line-height:1;color:#f57607;font-weight:700}
.hp-svc .hp-price{background:#fff;border-radius:20px;box-shadow:0 14px 40px rgba(0,0,0,.07);border:1px solid #f0ebe5;padding:18px;margin-bottom:22px}
.hp-svc .hp-price h4{margin:2px 6px 12px;font-family:Manrope,sans-serif;font-size:20px;color:#1d1d18;font-weight:800}
.hp-svc .hp-pr{display:flex;align-items:center;justify-content:space-between;background:#fbf7f2;border:1px solid #efe4d8;border-radius:12px;padding:12px 16px;margin-bottom:8px;font-family:Manrope,sans-serif;font-weight:700;color:#1d1d18;font-size:16px}
.hp-svc .hp-pr:last-child{margin-bottom:0}
.hp-svc .hp-pr b{color:#f57607;font-family:Manrope,sans-serif;font-size:18px;font-weight:800}
.hp-svc .col-md-4 .stronghold-custom-menu{background:#fff;border:1px solid #f0ebe5;border-radius:20px;padding:14px;box-shadow:0 14px 40px rgba(0,0,0,.07)}
.hp-svc .col-md-4 .custom-menu-item{margin:0 0 8px}
.hp-svc .col-md-4 .custom-menu-item a{display:flex;align-items:center;gap:10px;border-radius:12px;padding:12px 14px;background:#fbf7f2;color:#5f5f5f!important;font-family:Manrope,sans-serif;font-weight:600;font-size:16px;transition:.2s}
.hp-svc .col-md-4 .custom-menu-item a:hover{background:#f57607;color:#fff!important}
.hp-svc .col-md-4 .custom-menu-item a.hp-active{background:#111;color:#fff!important;box-shadow:inset 5px 0 0 #f57607}
.hp-svc .col-md-4 .custom-menu-item a .menu-item-right-icon{margin-left:auto;font-size:12px}
@media(max-width:1060px){.hp-svc .col-md-4{position:static;margin-top:0;max-height:none;overflow:visible;padding:0}.hp-svc .strhld-page-title h1{font-size:36px!important}.hp-svc .page-title-wrapper-bg::after{width:380px;height:266px}}
@media(max-width:767px){.hp-svc .page-title-wrapper-bg::before{background:rgba(11,11,11,.55)}.hp-svc .col-md-8{margin-top:-40px}.hp-svc .hp-tiles,.hp-svc .hp-tiles.two{grid-template-columns:1fr}.hp-svc .hp-card,.hp-svc .thfaqf-faq-list{padding:22px 18px}.hp-svc .hp-bar,.hp-svc .thfaqf-faq-list-title{font-size:18px!important;padding:12px 14px!important}.hp-svc .strhld-page-title h1{font-size:30px!important}.hp-svc .page-title-wrapper-bg{padding:48px 0 72px!important}.hp-svc .hp-btn{width:100%;justify-content:center}.hp-svc .hp-cta{width:100%}.hp-svc .hp-safe{flex-direction:column;padding:20px}.hp-svc .hp-quote{font-size:16px;padding:14px 16px}.hp-svc .hp-step{padding:14px}.hp-svc .hp-step b{width:40px;height:40px}}
.hp-svc .thfaqf-faq-item.hp-open .thfaqf-faq-item-content{display:block!important}
.hp-svc .thfaqf-faq-item.hp-open{border-color:#f57607}
.hp-svc .thfaqf-faq-item-title h4{display:flex!important;align-items:center;gap:16px}
.hp-svc .thfaqf-faq-item-title .thfaqf-title-text{order:1;flex:1;margin:0!important}
.hp-svc .thfaqf-faq-item .thfaq-marker{order:2;flex:none;margin:0 0 0 auto!important;width:34px;height:34px;border-radius:50%;background:#fbf7f2;display:flex!important;align-items:center;justify-content:center;font-size:24px!important;line-height:1;color:#f57607!important;transition:transform .2s,background .2s,color .2s}
.hp-svc .thfaqf-faq-item.hp-open .thfaq-marker{transform:rotate(45deg);background:#f57607;color:#fff!important}

/* ===== Floating call + WhatsApp icons (all pages) v2 - SVG, added 2026-10-09 =====
   NOTE: theme names are swapped: #call-icon holds the WhatsApp icon, #whatsapp-icon holds the Call icon. */
#whatsapp-icon,#call-icon{right:18px!important;z-index:1000}
#call-icon{bottom:88px!important}
#whatsapp-icon{bottom:20px!important}
#whatsapp-icon a,#call-icon a{display:block;line-height:0;border-radius:50%}
.hp-fab{position:relative;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.28);transition:transform .2s,box-shadow .2s}
.hp-fab svg{width:28px;height:28px}
.hp-fab-call{background:linear-gradient(135deg,#e11d2e,#b3121f)}
.hp-fab-call svg{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hp-fab-wa{background:linear-gradient(135deg,#2be06f,#1faa52)}
.hp-fab-wa svg{width:30px;height:30px;fill:#fff;stroke:none}
.hp-fab-wa::before{content:"";position:absolute;inset:0;border-radius:50%;animation:hpPulse 2.4s infinite}
@keyframes hpPulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
#whatsapp-icon a:hover .hp-fab,#call-icon a:hover .hp-fab{transform:scale(1.08);box-shadow:0 12px 26px rgba(0,0,0,.34)}
@media(prefers-reduced-motion:reduce){.hp-fab-wa::before{animation:none}}
@media(max-width:767px){#whatsapp-icon,#call-icon{right:14px!important}#call-icon{bottom:80px!important}#whatsapp-icon{bottom:16px!important}.hp-fab{width:50px;height:50px}.hp-fab svg{width:25px;height:25px}.hp-fab-wa svg{width:27px;height:27px}}

/* ===== Header slimmer (desktop >=992px, pages using .site-header) - added 2026-10-09 =====
   Logo 140->96px, ISO text 16->11px, top part 174->~103px, menu bar 65->~53px. Does not touch the old header (#header-wrap) or mobile. */
@media(min-width:992px){
.site-header .header-three-top{padding-top:6px!important;padding-bottom:6px!important}
.site-header .logo-wrap img{width:96px!important;height:auto!important}
.site-header .logo-wrap p{font-size:11px!important;line-height:1.1!important;margin:2px 0 4px!important}
.site-header .header-menu-row{align-items:center}
.site-header .header-contact-info{align-self:center}
.site-header .nav-social{margin-top:0!important;margin-bottom:0!important;align-self:center}
.site-header .stronghold-menu>li.menu-item{padding-top:12px!important;padding-bottom:12px!important}
.site-header .hcontact-info h6,.site-header .hcontact-info h6 a{font-size:15px!important;line-height:1.35!important}
.site-header .hcontact-info p{font-size:13px!important;line-height:1.35!important}
.site-header .header-contact-info .icon-wrapper i{font-size:24px!important;line-height:40px!important}
}

/* ===== Header slimmer (mobile/tablet <=991px, pages using .site-header) - added 2026-10-09 =====
   Black bar 171px -> ~85px: logo 108->72px wide, ISO text 16->10px, padding 20->8px, hamburger margin 52px removed. */
@media(max-width:991px){
.site-header .mobile-logo-area{padding-top:8px!important;padding-bottom:8px!important;align-items:center}
.site-header .mobile-logo-area .logo-title-wrap{align-items:center}
.site-header .mobile-logo img{width:72px!important;height:auto!important}
.site-header .mobile-logo p{font-size:10px!important;line-height:1.1!important;margin:2px 0 0!important}
.site-header .mobile-logo p b,.site-header .mobile-logo p i{font-size:10px!important;line-height:1.1!important}
.site-header .mobile-menu-toggle{margin-top:0!important;margin-bottom:0!important}
}

/* ===== Admin-bar dead space (only seen by logged-in admins) - added 2026-10-09 =====
   WordPress keeps html{margin-top:32px/46px} for the admin toolbar, but on pages whose footer has no wp_footer() the toolbar itself is never printed,
   leaving an empty strip on top. Reset the margin only when the toolbar element is really missing. Visitors never had it. */
html:not(:has(#wpadminbar)){margin-top:0!important}
