/* PS Site Core: Google-inspired minimal design system (colours/typography live in Elementor Site Settings) */
:root{
  --ps-blue:#1A73E8; --ps-blue-2:#4285F4; --ps-blue-dk:#174EA6; --ps-red:#EA4335; --ps-yellow:#FBBC04; --ps-green:#34A853; --ps-green-dk:#188038;
  --ps-ink:#202124; --ps-text:#3C4043; --ps-grey:#5F6368; --ps-border:#DADCE0; --ps-surface:#F8F9FA;
  --ps-t-blue:#E8F0FE; --ps-t-red:#FCE8E6; --ps-t-yellow:#FEF7E0; --ps-t-green:#E6F4EA;
  --ps-radius:24px; --ps-font:"Google Sans Flex","Google Sans",Roboto,Arial,sans-serif;
}
body.ps-site{font-family:var(--ps-font);color:var(--ps-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.ps-site h1,.ps-site h2,.ps-site h3,.ps-site h4,.ps-site .elementor-heading-title{font-family:var(--ps-font)}
.ps-site a{transition:color .15s}
.ps-site :focus-visible{outline:2px solid var(--ps-blue);outline-offset:3px;border-radius:6px}
.ps-site img{max-width:100%;height:auto}

/* ---------- type helpers */
.ps-eyebrow .elementor-heading-title{font-size:14px!important;font-weight:500!important;letter-spacing:.08em;text-transform:uppercase;color:var(--ps-blue)!important;margin:0}
.ps-eyebrow.ps-center .elementor-heading-title,.ps-center .elementor-heading-title{text-align:center}
.ps-h1--xl .elementor-heading-title{font-size:clamp(38px,5.4vw,64px)!important;line-height:1.08!important;letter-spacing:-1px!important}
.ps-lead{font-size:clamp(18px,1.6vw,20px);line-height:1.6;color:var(--ps-text);max-width:640px}
.ps-small,.ps-small p{font-size:14px;color:var(--ps-grey)}
.ps-site .elementor-widget-text-editor p:last-child{margin-bottom:0}
.ps-ph{background:transparent}
body.logged-in .ps-ph{background:var(--ps-t-yellow);outline:1px dashed #E37400;border-radius:4px;padding:0 4px}

/* ---------- buttons (pill, Google style) */
.ps-btn .elementor-button{border-radius:100px!important;font-weight:500!important;font-size:16px!important;padding:14px 28px!important;line-height:1.2;transition:background .15s,box-shadow .15s,color .15s,border-color .15s;border:1px solid transparent}
.ps-btn--primary .elementor-button{background:var(--ps-blue)!important;color:#fff!important}
.ps-btn--primary .elementor-button:hover{background:#1765CC!important;box-shadow:0 1px 3px rgba(60,64,67,.3),0 4px 8px 3px rgba(60,64,67,.15)}
.ps-btn--outline .elementor-button{background:#fff!important;color:var(--ps-blue)!important;border-color:var(--ps-border)!important}
.ps-btn--outline .elementor-button:hover{background:var(--ps-t-blue)!important;border-color:#D2E3FC!important}
.ps-btn--white .elementor-button{background:#fff!important;color:var(--ps-blue)!important}
.ps-btn--white .elementor-button:hover{background:var(--ps-t-blue)!important}
.ps-btn--ghost-white .elementor-button{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.6)!important}
.ps-btn--ghost-white .elementor-button:hover{background:rgba(255,255,255,.12)!important}
.ps-btn--sm .elementor-button{padding:10px 22px!important;font-size:15px!important}
.ps-btnrow>.elementor-container{flex-wrap:wrap;gap:12px}
.ps-btnrow>.elementor-container>.elementor-column>.elementor-widget-wrap{padding:0!important}
.ps-btnrow--left>.elementor-container>.elementor-column.ps-auto{width:auto!important}
.ps-btnrow{margin-top:8px}
@media (max-width:767px){
  .ps-btnrow--left>.elementor-container>.elementor-column.ps-auto{width:100%!important}
  .ps-btnrow .elementor-button{width:100%;justify-content:center}
  .ps-btnrow .elementor-widget-button .elementor-button-wrapper,.ps-btnrow .elementor-widget-button{text-align:center!important}
}

/* ---------- chips */
.ps-chips{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ps-chips li{border:1px solid var(--ps-border);border-radius:100px;padding:6px 14px;font-size:14px;color:var(--ps-text);background:#fff;line-height:1.4}
.ps-chips--center{justify-content:center;max-width:900px;margin:24px auto 0}

/* ---------- hero */
.ps-hero{position:relative;overflow:hidden}
.ps-hero::before{content:"";position:absolute;right:-120px;top:-160px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--ps-t-blue),transparent 65%);z-index:0;pointer-events:none}
.ps-hero>.elementor-container{position:relative;z-index:1}
.ps-hero-media .elementor-widget-wrap{position:relative}
.ps-portrait img{border-radius:32px;aspect-ratio:1/1;object-fit:cover;width:100%;max-width:460px;box-shadow:0 1px 2px rgba(60,64,67,.15),0 8px 24px rgba(60,64,67,.12)}
.ps-portrait{position:relative}
.ps-hero-media .elementor-widget-image{text-align:center}
.ps-badges{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:-28px;position:relative}
.ps-badge{background:#fff;border-radius:100px;padding:10px 16px;font-size:14px;box-shadow:0 1px 3px rgba(60,64,67,.2),0 4px 12px rgba(60,64,67,.12);display:inline-flex;gap:6px;align-items:center}
.ps-badge b{font-weight:700}
.ps-badge--blue b{color:var(--ps-blue)} .ps-badge--green b{color:var(--ps-green-dk)}
.ps-hero-art{position:relative;height:320px;max-width:360px;margin:0 auto}
.ps-hero-art span{position:absolute;border-radius:50%}
.ps-hero-art span:nth-child(1){width:150px;height:150px;background:var(--ps-blue-2);left:30px;top:20px}
.ps-hero-art span:nth-child(2){width:100px;height:100px;background:var(--ps-red);right:40px;top:60px}
.ps-hero-art span:nth-child(3){width:80px;height:80px;background:var(--ps-yellow);left:90px;bottom:30px}
.ps-hero-art span:nth-child(4){width:120px;height:120px;background:var(--ps-green);right:70px;bottom:0}
@media (max-width:767px){.ps-hero-art{display:none}}

/* ---------- quick answer (AEO) */
.ps-answer{background:var(--ps-t-blue);border-radius:var(--ps-radius);padding:28px 32px;border-left:6px solid var(--ps-blue)}
.ps-answer__label{font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ps-blue);margin:0 0 6px}
.ps-answer .ps-answer__q{font-size:22px;font-weight:500;color:var(--ps-ink);margin:0 0 8px;line-height:1.3}
.ps-answer p:last-child{margin:0}
.ps-answer--wide{max-width:1000px;margin:0 auto}

/* ---------- trust logos */
.ps-trust__title .elementor-heading-title{font-size:14px!important;color:var(--ps-grey)!important;font-weight:400!important}
.ps-logos>.elementor-container{align-items:center}
.ps-logo img{max-height:52px;width:auto;filter:grayscale(1);opacity:.7;transition:filter .2s,opacity .2s}
.ps-logo img:hover{filter:none;opacity:1}
.ps-logo{text-align:center}

/* ---------- grids & cards */
.ps-grid>.elementor-container>.elementor-column{padding:12px}
.ps-grid>.elementor-container>.elementor-column>.elementor-widget-wrap{height:100%;align-content:flex-start}
.ps-grid{margin:12px -12px 0}
.ps-card>.elementor-widget-wrap,.ps-step-card>.elementor-widget-wrap,.ps-stat-card>.elementor-widget-wrap,.ps-case>.elementor-widget-wrap{border-radius:var(--ps-radius);padding:28px!important;transition:transform .2s,box-shadow .2s}
.ps-card--blue>.elementor-widget-wrap{background:var(--ps-t-blue)}
.ps-card--red>.elementor-widget-wrap{background:var(--ps-t-red)}
.ps-card--yellow>.elementor-widget-wrap{background:var(--ps-t-yellow)}
.ps-card--green>.elementor-widget-wrap{background:var(--ps-t-green)}
.ps-card--white>.elementor-widget-wrap{background:#fff;border:1px solid var(--ps-border)}
.ps-step-card>.elementor-widget-wrap,.ps-case>.elementor-widget-wrap{background:#fff;border:1px solid var(--ps-border)}
.ps-stat-card>.elementor-widget-wrap{background:#fff;border:1px solid var(--ps-border);text-align:left}
.ps-services .ps-card>.elementor-widget-wrap:hover,.ps-explore .ps-card>.elementor-widget-wrap:hover{transform:translateY(-3px);box-shadow:0 1px 3px rgba(60,64,67,.15),0 8px 20px rgba(60,64,67,.12)}
.ps-card .elementor-widget:not(:last-child),.ps-step-card .elementor-widget:not(:last-child),.ps-case .elementor-widget:not(:last-child){margin-bottom:12px}

/* icon boxes */
.ps-iconbox .elementor-icon-box-wrapper{text-align:left!important}
.ps-iconbox .elementor-icon-box-icon{margin-bottom:16px!important;display:inline-flex}
.ps-iconbox .elementor-icon{font-size:22px!important;width:52px;height:52px;border-radius:16px;display:inline-flex!important;align-items:center;justify-content:center;background:#fff;color:var(--ps-blue)!important;fill:var(--ps-blue)}
.ps-card--red .ps-iconbox .elementor-icon{color:var(--ps-red)!important;fill:var(--ps-red)}
.ps-card--yellow .ps-iconbox .elementor-icon{color:#E37400!important;fill:#E37400}
.ps-card--green .ps-iconbox .elementor-icon{color:var(--ps-green-dk)!important;fill:var(--ps-green-dk)}
.ps-iconbox .elementor-icon-box-title{margin:0 0 8px!important;font-size:20px!important;font-weight:500!important;color:var(--ps-ink)}
.ps-iconbox .elementor-icon-box-title a{color:var(--ps-ink)!important}
.ps-iconbox .elementor-icon-box-description{font-size:15.5px;line-height:1.6;color:var(--ps-text);margin:0}
.ps-more{font-weight:500;font-size:15px;text-decoration:none}
.ps-more:hover{text-decoration:underline}

/* stats */
.ps-stat{font-size:clamp(34px,4vw,48px);font-weight:500;line-height:1.05;margin:0 0 6px;letter-spacing:-1px}
.ps-stat--blue{color:var(--ps-blue)} .ps-stat--red{color:var(--ps-red)} .ps-stat--yellow{color:#E37400} .ps-stat--green{color:var(--ps-green-dk)}
.ps-stat-card p{font-size:15px;color:var(--ps-grey)}
.ps-stat-card p.ps-stat{font-size:clamp(34px,4vw,48px);font-weight:500;line-height:1.05;margin:0 0 6px}
.ps-stat-card p.ps-stat--blue{color:var(--ps-blue)} .ps-stat-card p.ps-stat--red{color:var(--ps-red)} .ps-stat-card p.ps-stat--yellow{color:#E37400} .ps-stat-card p.ps-stat--green{color:var(--ps-green-dk)}

/* process steps */
.ps-step{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--ps-t-blue);color:var(--ps-blue);font-weight:500;font-size:15px}
.ps-grid>.elementor-container>.elementor-column:nth-child(2) .ps-step{background:var(--ps-t-red);color:var(--ps-red)}
.ps-grid>.elementor-container>.elementor-column:nth-child(3) .ps-step{background:var(--ps-t-yellow);color:#E37400}
.ps-grid>.elementor-container>.elementor-column:nth-child(4) .ps-step{background:var(--ps-t-green);color:var(--ps-green-dk)}
.ps-step-card h3,.ps-case h3,.ps-card h3{font-size:20px!important;font-weight:500!important}

/* lists */
.ps-list .elementor-icon-list-item{align-items:flex-start!important;padding:6px 0!important}
.ps-list .elementor-icon-list-icon{color:var(--ps-green)!important;margin-top:4px}
.ps-list .elementor-icon-list-icon i{color:var(--ps-green)!important;font-size:16px}
.ps-list .elementor-icon-list-icon svg{fill:var(--ps-green)!important;width:16px}
.ps-list .elementor-icon-list-text{font-size:16.5px;color:var(--ps-text);padding-left:10px!important}
.ps-list--2col .elementor-icon-list-items{display:grid;grid-template-columns:1fr 1fr;gap:4px 32px}
@media (max-width:767px){.ps-list--2col .elementor-icon-list-items{grid-template-columns:1fr}}

/* regions */
.ps-regions{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ps-regions__title{grid-column:1/-1;margin:0;font-size:14px;color:var(--ps-grey);letter-spacing:.06em;text-transform:uppercase;font-weight:500}
.ps-region{display:flex;align-items:center;gap:14px;padding:20px;border-radius:20px;border:1px solid var(--ps-border);text-decoration:none;color:var(--ps-ink)!important;font-weight:500;background:#fff;transition:box-shadow .2s,transform .2s}
.ps-region:hover{box-shadow:0 4px 14px rgba(60,64,67,.14);transform:translateY(-2px)}
.ps-region span{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff}
.ps-region:nth-of-type(1) span{background:var(--ps-blue-2)} .ps-region:nth-of-type(2) span{background:var(--ps-red)}
.ps-region:nth-of-type(3) span{background:var(--ps-yellow);color:var(--ps-ink)} .ps-region:nth-of-type(4) span{background:var(--ps-green)}
@media (max-width:480px){.ps-regions{grid-template-columns:1fr}}

/* progress bars */
.ps-progress .elementor-title{font-size:15px!important;color:var(--ps-ink)!important;font-weight:500!important}
.ps-progress .elementor-progress-wrapper{background:#E8EAED!important;border-radius:100px!important;height:12px!important;overflow:hidden}
.ps-progress .elementor-progress-bar{border-radius:100px;height:12px!important;line-height:12px!important;background:var(--ps-blue)!important}
.ps-progress .elementor-progress-text,.ps-progress .elementor-progress-percentage{font-size:11px!important;display:none}
.ps-progress:nth-of-type(4n+2) .elementor-progress-bar{background:var(--ps-red)!important}
.ps-progress:nth-of-type(4n+3) .elementor-progress-bar{background:var(--ps-yellow)!important}
.ps-progress:nth-of-type(4n+4) .elementor-progress-bar{background:var(--ps-green)!important}
.ps-progress{margin-bottom:18px!important}

/* testimonials */
.ps-testimonial .elementor-testimonial-content{font-size:17px!important;line-height:1.65!important;color:var(--ps-ink)!important;font-style:normal!important}
.ps-testimonial .elementor-testimonial-content::before{content:"\201C";display:block;font-size:56px;line-height:.6;color:var(--ps-blue);margin-bottom:10px}
.ps-card--green .ps-testimonial .elementor-testimonial-content::before{color:var(--ps-green-dk)}
.ps-testimonial .elementor-testimonial-name{font-weight:500!important;color:var(--ps-ink)!important}
.ps-testimonial .elementor-testimonial-job{color:var(--ps-grey)!important;font-size:14px!important}
.ps-testimonial .elementor-testimonial-image img{width:52px!important;height:52px!important;border-radius:50%}

/* FAQ accordion */
.ps-faq .elementor-accordion-item{border:0!important;border-bottom:1px solid var(--ps-border)!important}
.ps-faq .elementor-accordion-item:first-child{border-top:1px solid var(--ps-border)!important}
.ps-faq .elementor-tab-title{padding:20px 4px!important;font-size:18px!important;font-weight:500!important;border:0!important}
.ps-faq .elementor-tab-title a,.ps-faq .elementor-accordion-title{color:var(--ps-ink)!important;font-family:var(--ps-font);font-size:18px!important;font-weight:500!important}
.ps-faq .elementor-tab-title.elementor-active a{color:var(--ps-blue)!important}
.ps-faq .elementor-accordion-icon{color:var(--ps-blue)!important}
.ps-faq .elementor-tab-content{padding:0 4px 22px!important;border:0!important;font-size:16.5px;color:var(--ps-text)}

/* CTA band */
.ps-cta>.elementor-widget-wrap{background:var(--ps-blue);border-radius:32px;padding:56px 32px!important;position:relative;overflow:hidden}
.ps-cta>.elementor-widget-wrap::before,.ps-cta>.elementor-widget-wrap::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.ps-cta>.elementor-widget-wrap::before{width:220px;height:220px;background:rgba(251,188,4,.9);left:-80px;bottom:-110px}
.ps-cta>.elementor-widget-wrap::after{width:160px;height:160px;background:rgba(52,168,83,.9);right:-50px;top:-60px}
.ps-cta .elementor-widget{position:relative;z-index:1}
.ps-cta__title .elementor-heading-title{color:#fff!important;max-width:760px;margin:0 auto!important}
.ps-cta__text{color:#E8F0FE;max-width:640px;margin:0 auto}
.ps-cta .ps-btnrow>.elementor-container{justify-content:center}
.ps-cta .ps-btnrow>.elementor-container>.elementor-column{width:auto!important}
@media (max-width:767px){.ps-cta .ps-btnrow>.elementor-container>.elementor-column{width:100%!important}.ps-cta .elementor-button{white-space:normal}}

/* ---------- about */
.ps-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--ps-border);border-radius:var(--ps-radius);overflow:hidden}
.ps-facts>div{padding:20px 24px;border-right:1px solid var(--ps-border);border-bottom:1px solid var(--ps-border);display:flex;flex-direction:column;gap:4px}
.ps-facts>div:nth-child(3n){border-right:0} .ps-facts>div:nth-last-child(-n+3){border-bottom:0}
.ps-facts span{font-size:13px;color:var(--ps-grey);text-transform:uppercase;letter-spacing:.06em}
.ps-facts b{font-weight:500;color:var(--ps-ink)}
@media (max-width:767px){.ps-facts{grid-template-columns:1fr}.ps-facts>div{border-right:0!important;border-bottom:1px solid var(--ps-border)!important}.ps-facts>div:last-child{border-bottom:0!important}}
.ps-timeline{list-style:none;margin:0;padding:0 0 0 28px;border-left:2px solid var(--ps-border)}
.ps-timeline li{position:relative;padding:0 0 32px}
.ps-timeline li::before{content:"";position:absolute;left:-37px;top:4px;width:16px;height:16px;border-radius:50%;background:var(--ps-blue-2);box-shadow:0 0 0 4px #F8F9FA}
.ps-timeline li:nth-child(2)::before{background:var(--ps-red)} .ps-timeline li:nth-child(3)::before{background:var(--ps-yellow)} .ps-timeline li:nth-child(4)::before{background:var(--ps-green)}
.ps-timeline h3{font-size:20px;margin:2px 0 4px;font-weight:500;color:var(--ps-ink)}
.ps-timeline__date{font-size:14px;color:var(--ps-blue);font-weight:500;margin:0}
.ps-timeline__org{font-size:15px;color:var(--ps-grey);margin:0 0 6px}
.ps-timeline p{margin-bottom:0}

/* ---------- results */
.ps-tag{display:inline-block;border-radius:100px;padding:4px 12px;font-size:13px;font-weight:500}
.ps-tag--blue{background:var(--ps-t-blue);color:var(--ps-blue)} .ps-tag--red{background:var(--ps-t-red);color:#C5221F}
.ps-tag--yellow{background:var(--ps-t-yellow);color:#B06000} .ps-tag--green{background:var(--ps-t-green);color:var(--ps-green-dk)}
.ps-result{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid var(--ps-border);padding-top:16px;margin-top:4px}
.ps-result b{display:block;font-size:24px;font-weight:500;color:var(--ps-ink)}
.ps-result span{font-size:13px;color:var(--ps-grey)}

/* ---------- dashboard */
.ps-profilecard{background:#fff;border:1px solid var(--ps-border);border-radius:var(--ps-radius);padding:28px;box-shadow:0 1px 2px rgba(60,64,67,.1),0 6px 20px rgba(60,64,67,.08)}
.ps-profilecard__status{display:inline-flex;align-items:center;gap:8px;background:var(--ps-t-green);color:var(--ps-green-dk);border-radius:100px;padding:6px 14px;font-size:14px;font-weight:500;margin:0 0 16px}
.ps-profilecard__status span{width:8px;height:8px;border-radius:50%;background:var(--ps-green);animation:pspulse 2s infinite}
@keyframes pspulse{0%{box-shadow:0 0 0 0 rgba(52,168,83,.5)}70%{box-shadow:0 0 0 8px rgba(52,168,83,0)}100%{box-shadow:0 0 0 0 rgba(52,168,83,0)}}
.ps-profilecard dl{margin:0}
.ps-profilecard dl>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #F1F3F4}
.ps-profilecard dl>div:last-child{border-bottom:0}
.ps-profilecard dt{color:var(--ps-grey);font-size:14px;font-weight:400}
.ps-profilecard dd{margin:0;text-align:right;font-weight:500;color:var(--ps-ink);font-size:14.5px}
.ps-kpis{list-style:none;margin:8px 0 0;padding:14px 0 0;border-top:1px solid rgba(0,0,0,.08);display:flex;flex-wrap:wrap;gap:6px}
.ps-kpis li{background:rgba(255,255,255,.75);border-radius:100px;padding:4px 12px;font-size:13px;color:var(--ps-ink)}
.ps-snapshot{display:flex;flex-direction:column;gap:12px}
.ps-snapshot>div{background:#fff;border:1px solid var(--ps-border);border-radius:16px;padding:16px 20px}
.ps-snapshot span{font-size:13px;color:var(--ps-blue);font-weight:500}
.ps-snapshot p{margin:4px 0 0}

/* ---------- contact */
.ps-contact{display:flex;flex-direction:column;gap:12px}
.ps-contact__item{display:flex;gap:16px;align-items:center;padding:18px 20px;border:1px solid var(--ps-border);border-radius:20px;text-decoration:none;color:var(--ps-text)!important;background:#fff}
a.ps-contact__item:hover{box-shadow:0 4px 14px rgba(60,64,67,.14)}
.ps-contact__item b{display:block;color:var(--ps-ink);font-weight:500}
.ps-contact__item span:last-child{font-size:15px;line-height:1.45;word-break:break-word}
.ps-ic{flex:0 0 44px;height:44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:18px}
.ps-ic--blue{background:var(--ps-t-blue);color:var(--ps-blue)} .ps-ic--green{background:var(--ps-t-green);color:var(--ps-green-dk)}
.ps-ic--red{background:var(--ps-t-red);color:var(--ps-red)} .ps-ic--yellow{background:var(--ps-t-yellow);color:#E37400}
.ps-form input[type=text],.ps-form input[type=email],.ps-form input[type=tel],.ps-form input[type=url],.ps-form select,.ps-form textarea{width:100%;border:1px solid var(--ps-border)!important;border-radius:12px!important;padding:12px 14px!important;font-family:var(--ps-font);font-size:16px;background:#fff}
.ps-form input:focus,.ps-form textarea:focus,.ps-form select:focus{border-color:var(--ps-blue)!important;outline:0;box-shadow:0 0 0 3px rgba(26,115,232,.18)}
.ps-form button,.ps-form input[type=submit]{background:var(--ps-blue)!important;color:#fff!important;border:0!important;border-radius:100px!important;padding:14px 28px!important;font-weight:500;font-family:var(--ps-font);cursor:pointer}

/* ---------- latest posts (shortcode) & blog archive */
.ps-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:24px 0 32px}
@media (max-width:1024px){.ps-posts{grid-template-columns:repeat(2,1fr)}}
@media (max-width:767px){.ps-posts{grid-template-columns:1fr}}
.ps-post-card{border:1px solid var(--ps-border);border-radius:var(--ps-radius);overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.ps-post-card:hover{box-shadow:0 1px 3px rgba(60,64,67,.15),0 8px 20px rgba(60,64,67,.12);transform:translateY(-3px)}
.ps-post-card__img{display:block;aspect-ratio:16/9;background:var(--ps-t-blue);overflow:hidden}
.ps-post-card--red .ps-post-card__img{background:var(--ps-t-red)} .ps-post-card--yellow .ps-post-card__img{background:var(--ps-t-yellow)} .ps-post-card--green .ps-post-card__img{background:var(--ps-t-green)}
.ps-post-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.ps-post-card__body{padding:20px 24px 24px}
.ps-post-card__cat{font-size:13px;font-weight:500;color:var(--ps-blue);margin:0 0 6px;text-transform:uppercase;letter-spacing:.06em}
.ps-post-card__title{font-size:19px!important;line-height:1.35!important;margin:0 0 8px!important;font-weight:500}
.ps-post-card__title a{color:var(--ps-ink)!important;text-decoration:none}
.ps-post-card__title a:hover{color:var(--ps-blue)!important}
.ps-post-card__excerpt{font-size:15px;color:var(--ps-text);margin:0 0 10px}
.ps-post-card__meta{font-size:13px;color:var(--ps-grey);margin:0}

/* Hello theme archive / single */
body.ps-site:not(.elementor-page) .site-main{max-width:1200px;margin:0 auto;padding:56px 24px 80px}
body.ps-site.blog .page-header,body.ps-site.archive .page-header,body.ps-site.search .page-header{margin-bottom:32px}
body.ps-site.blog .page-header .entry-title,body.ps-site.archive .page-header .entry-title{font-size:clamp(34px,4.4vw,52px);font-weight:500;color:var(--ps-ink);letter-spacing:-.5px;max-width:900px}
body.ps-site.blog .page-content,body.ps-site.archive .page-content,body.ps-site.search .page-content{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:1024px){body.ps-site.blog .page-content,body.ps-site.archive .page-content{grid-template-columns:repeat(2,1fr)}}
@media (max-width:767px){body.ps-site.blog .page-content,body.ps-site.archive .page-content,body.ps-site.search .page-content{grid-template-columns:1fr}}
body.ps-site.blog article.post,body.ps-site.archive article.post,body.ps-site.search article{border:1px solid var(--ps-border);border-radius:var(--ps-radius);overflow:hidden;background:#fff;display:flex;flex-direction:column;padding:0 0 20px;margin:0!important;transition:box-shadow .2s}
body.ps-site.blog article.post:hover,body.ps-site.archive article.post:hover{box-shadow:0 8px 20px rgba(60,64,67,.12)}
body.ps-site.blog article.post>a,body.ps-site.archive article.post>a{order:-1;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--ps-t-blue)}
body.ps-site.blog article.post>a img,body.ps-site.archive article.post>a img{width:100%;height:100%;object-fit:cover}
body.ps-site.blog article.post .entry-title,body.ps-site.archive article.post .entry-title,body.ps-site.search article .entry-title{font-size:19px;line-height:1.35;font-weight:500;padding:18px 22px 0;margin:0 0 8px}
body.ps-site.blog article.post .entry-title a,body.ps-site.archive article.post .entry-title a{color:var(--ps-ink);text-decoration:none}
body.ps-site.blog article.post .entry-title a:hover{color:var(--ps-blue)}
body.ps-site.blog article.post p,body.ps-site.archive article.post p,body.ps-site.search article p{padding:0 22px;font-size:15px;margin:0}
body.ps-site .pagination,body.ps-site nav.pagination{grid-column:1/-1;display:flex;justify-content:space-between;margin-top:32px}
body.ps-site.single-post .site-main{max-width:780px}
body.ps-site.single-post .page-header .entry-title{font-size:clamp(32px,4vw,46px);line-height:1.15;font-weight:500;color:var(--ps-ink);letter-spacing:-.5px}
body.ps-site.single-post .page-content{font-size:18px;line-height:1.75}
body.ps-site.single-post .page-content h2{font-size:30px;margin:40px 0 12px;font-weight:500}
body.ps-site.single-post .page-content h3{font-size:22px;margin:28px 0 10px;font-weight:500}
body.ps-site.single-post .page-content img{border-radius:16px}
body.ps-site.single-post .page-content a{color:var(--ps-blue)}
body.ps-site.single-post .post-tags{margin-top:24px}
.ps-author{display:flex;gap:20px;align-items:flex-start;margin:48px 0 0;padding:24px;background:var(--ps-surface);border-radius:var(--ps-radius);font-size:15.5px;line-height:1.6}
.ps-author__img{width:72px;height:72px;border-radius:50%;flex:0 0 72px;object-fit:cover}
.ps-author p{margin:0 0 6px!important}
.ps-author__label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ps-grey)}
.ps-author__name{font-size:19px;font-weight:500} .ps-author__name a{color:var(--ps-ink)!important;text-decoration:none}
.ps-author__links a{font-weight:500}

/* ---------- header (Header Footer Elementor) */
#masthead{position:sticky;top:0;z-index:999;background:#fff;transition:box-shadow .2s}
.admin-bar #masthead{top:32px}
@media (max-width:782px){.admin-bar #masthead{top:0}}
#masthead.ps-scrolled{box-shadow:0 1px 2px rgba(60,64,67,.12),0 2px 6px rgba(60,64,67,.08)}
.ps-header{border-bottom:1px solid #F1F3F4}
.ps-site .ps-wordmark{display:inline-flex;align-items:center;gap:10px;font-family:var(--ps-font);font-size:22px!important;font-weight:500;color:var(--ps-ink)!important;text-decoration:none;letter-spacing:-.2px;white-space:nowrap}
.ps-wordmark__dots{display:inline-grid;grid-template-columns:8px 8px;gap:3px}
.ps-wordmark__dots i{width:8px;height:8px;border-radius:50%;display:block}
.ps-wordmark__dots i:nth-child(1){background:var(--ps-blue-2)} .ps-wordmark__dots i:nth-child(2){background:var(--ps-red)}
.ps-wordmark__dots i:nth-child(3){background:var(--ps-yellow)} .ps-wordmark__dots i:nth-child(4){background:var(--ps-green)}
.ps-logo-text .elementor-heading-title{line-height:1!important}
.ps-nav .hfe-nav-menu a.hfe-menu-item,.ps-nav .hfe-nav-menu .hfe-menu-item{font-family:var(--ps-font)!important;font-size:15px!important;font-weight:500!important;color:var(--ps-text)!important;padding:10px 13px!important;border-radius:100px}
.ps-nav .hfe-nav-menu>li>a.hfe-menu-item:hover{color:var(--ps-blue)!important;background:var(--ps-t-blue)}
.ps-nav .hfe-nav-menu>li.current-menu-item>a.hfe-menu-item,.ps-nav .hfe-nav-menu>li.current-menu-ancestor>a.hfe-menu-item{color:var(--ps-blue)!important}
.ps-nav .sub-menu{border-radius:16px!important;border:1px solid var(--ps-border)!important;box-shadow:0 4px 16px rgba(60,64,67,.15)!important;padding:8px 0!important;min-width:250px;background:#fff!important;overflow:hidden}
.ps-nav .sub-menu a.hfe-sub-menu-item{font-size:15px!important;font-weight:400!important;padding:10px 18px!important;color:var(--ps-text)!important;border:0!important;background:#fff!important}
.ps-nav .sub-menu a.hfe-sub-menu-item:hover{background:var(--ps-t-blue)!important;color:var(--ps-blue)!important}
.ps-nav .hfe-nav-menu__toggle{justify-content:flex-end!important}
.ps-nav .hfe-nav-menu-icon{color:var(--ps-ink)!important;border:0!important;font-size:22px}
.ps-nav .hfe-nav-menu-icon svg{fill:var(--ps-ink)}
@media (max-width:1024px){
  .ps-nav nav.hfe-dropdown{border-radius:16px;box-shadow:0 8px 24px rgba(60,64,67,.18);border:1px solid var(--ps-border);overflow:hidden;background:#fff}
  .ps-nav nav.hfe-dropdown a.hfe-menu-item,.ps-nav nav.hfe-dropdown a.hfe-sub-menu-item{border-radius:0!important;padding:14px 20px!important;border-bottom:1px solid #F1F3F4!important}
  .ps-nav nav.hfe-dropdown .sub-menu{box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important}
}

/* ---------- footer */
.ps-footer{border-top:1px solid var(--ps-border)}
.ps-footer p{font-size:15px;color:var(--ps-grey);line-height:1.6}
.ps-site .ps-wordmark--footer{font-size:20px!important}
.ps-footer-title .elementor-heading-title{font-size:14px!important;font-weight:500!important;color:var(--ps-ink)!important;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px!important}
.ps-footer-links .elementor-icon-list-icon{display:none!important}
.ps-footer-links .elementor-icon-list-item{padding:5px 0!important}
.ps-footer-links .elementor-icon-list-text{padding:0!important;color:var(--ps-grey)!important;font-size:15px}
.ps-footer-links a:hover .elementor-icon-list-text{color:var(--ps-blue)!important}
.ps-footer-email{font-weight:500;color:var(--ps-blue)!important;text-decoration:none}
.ps-footer-bottom{border-top:1px solid var(--ps-border)}
.ps-footer-bottom p{font-size:14px;color:var(--ps-grey);margin:0}
.ps-credit{text-align:right}
.ps-credit a{color:var(--ps-ink)!important;font-weight:500;text-decoration:none;border-bottom:2px solid var(--ps-yellow)}
.ps-credit a:hover{color:var(--ps-blue)!important}
@media (max-width:767px){.ps-credit{text-align:left}.ps-footer-bottom .elementor-column:first-child .elementor-widget-wrap{padding-bottom:0!important}}

/* ---------- section rhythm */
.ps-site .elementor-section .elementor-widget-heading+.elementor-widget-text-editor{margin-top:-4px}
.ps-services>.elementor-container>.elementor-column>.elementor-widget-wrap>.elementor-widget-text-editor p{max-width:680px}
@media (max-width:767px){.ps-hero-media{margin-top:24px}.ps-portrait img{max-width:320px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- fixes v1.0.1 */
.ps-testimonial .elementor-testimonial-image img[src*="placeholder"]{display:none}
.ps-testimonial .elementor-testimonial-image:has(img[src*="placeholder"]){display:none}
.ps-nav .hfe-nav-menu__toggle{margin-left:auto!important;width:fit-content}
.ps-blog-head{grid-column:1/-1;margin:0 0 8px}
.ps-blog-head h1{font-size:clamp(34px,4.4vw,52px);font-weight:500;color:var(--ps-ink);letter-spacing:-.5px;margin:6px 0 10px;line-height:1.15}
.ps-blog-head p{max-width:720px;font-size:18px;margin:0}
.ps-blog-head .ps-eyebrow-txt{font-size:14px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ps-blue)}
body.ps-site.blog .page-header{display:none}
@media (max-width:767px){
  .ps-card>.elementor-widget-wrap,.ps-step-card>.elementor-widget-wrap,.ps-stat-card>.elementor-widget-wrap,.ps-case>.elementor-widget-wrap{padding:22px!important}
  .ps-stat-card p{font-size:14px}
  .ps-answer{padding:22px}
  .ps-cta>.elementor-widget-wrap{padding:44px 20px!important;border-radius:24px}
  .ps-result b{font-size:19px}
}
