/* ===== Psychotherapy demo - premium look ===== */
:root{--psy-cream:var(--e-global-color-cream,#f6f1e8);--psy-sand:#ece3d3;--psy-mist:var(--e-global-color-mist,#e3ede8);--psy-accent:var(--e-global-color-accent,#c9835a);--psy-radius:28px;--psy-shadow:0 32px 64px -38px color-mix(in srgb,var(--xav-dark) 50%,transparent);--psy-body:var(--e-global-typography-text-font-family,'DM Sans'),system-ui,sans-serif;--psy-serif:var(--e-global-typography-primary-font-family,'Cormorant Garamond'),Georgia,serif}
body{background:#fff;font-family:var(--psy-body);font-size:17px;color:var(--xav-text)}
h1,h2,h3,h4,h5{font-family:var(--psy-serif);font-weight:600}
.psy-sec{position:relative;padding:clamp(64px,8.5vw,118px) 0}
.psy-sec .elementor-widget-text-editor p{margin:0 0 1em}.psy-sec .elementor-widget-text-editor p:last-child{margin:0}
.xav-main{overflow-x:clip}

/* ---- type ---- */
.psy-sec .elementor-widget.psy-eyebrow{margin-bottom:18px}
.psy-sec .elementor-widget-icon-list:not(:last-child),.psy-sec .elementor-widget-accordion:not(:last-child){margin-bottom:26px}
.psy-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:12px;font:700 13px/1 var(--psy-body);letter-spacing:.2em;text-transform:uppercase;color:var(--xav-primary)}
.psy-eyebrow .elementor-heading-title:before{content:"";width:34px;height:2px;background:var(--psy-accent);border-radius:2px}
.psy-eyebrow--light .elementor-heading-title{color:#f1c8ad}
.psy-sec .elementor-widget.psy-title{margin-bottom:22px}
.psy-title .elementor-heading-title{font-size:clamp(38px,4.6vw,64px);line-height:1.04;letter-spacing:-.015em;color:var(--xav-dark);font-weight:600}
.psy-title em,.psy-h1 em,.psy-banner-title em{font-style:italic;font-weight:500;color:var(--xav-primary)}
.psy-title--light .elementor-heading-title{color:#fff}.psy-title--light em{color:#f1c8ad}
.psy-title--left .elementor-heading-title{font-size:clamp(34px,3.6vw,48px)}
.psy-sec .elementor-widget.psy-sub{margin-bottom:30px;max-width:640px;font-size:18.5px;line-height:1.7}
.psy-sub--light{color:rgba(255,255,255,.82)}
.psy-center{text-align:center}.psy-center .psy-sub{margin-left:auto;margin-right:auto}
.psy-center .psy-eyebrow,.psy-center .psy-title,.psy-center .psy-sub{text-align:center}
.psy-center .psy-eyebrow .elementor-heading-title{justify-content:center}
.psy-center .psy-eyebrow .elementor-heading-title:after{content:"";width:34px;height:2px;background:var(--psy-accent);border-radius:2px}
.psy-sec .elementor-widget.psy-lead{font-size:19px;line-height:1.75;margin-bottom:26px}
.psy-sec .elementor-widget.psy-body{font-size:17.5px;line-height:1.8;margin-bottom:26px}
.psy-h3 .elementor-heading-title{font-size:clamp(26px,2.4vw,34px);margin:34px 0 14px}
.psy-h3--grp .elementor-heading-title{margin:0 0 16px;font-size:30px}.psy-h3--grp:not(:first-child) .elementor-heading-title{margin-top:44px}

/* ---- buttons ---- */
.psy-actions{display:flex;flex-wrap:wrap;gap:14px;margin:32px 0 0}.psy-center .psy-actions{justify-content:center}
.psy-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:17px 32px;border-radius:99px;background:var(--xav-primary);color:#fff;font:600 16px/1 var(--psy-body);border:0;cursor:pointer;box-shadow:0 20px 36px -18px var(--xav-primary);transition:transform .3s,background .3s,box-shadow .3s}
.psy-btn svg{transition:transform .3s}.psy-btn:hover svg{transform:translateX(4px)}
.psy-btn:hover{background:var(--xav-dark);color:#fff;transform:translateY(-3px)}
.psy-btn--ghost{background:transparent;color:var(--xav-dark);box-shadow:inset 0 0 0 1.6px color-mix(in srgb,var(--xav-dark) 28%,transparent)}
.psy-btn--ghost:hover{background:var(--xav-dark);color:#fff}
.psy-btn--light{background:#fff;color:var(--xav-dark);box-shadow:0 20px 36px -18px rgba(0,0,0,.45)}.psy-btn--light:hover{background:var(--psy-accent);color:#fff}
.psy-btn--ghost-light{color:#fff;box-shadow:inset 0 0 0 1.6px rgba(255,255,255,.5)}.psy-btn--ghost-light:hover{background:#fff;color:var(--xav-dark)}
.psy-link{font-weight:700;color:var(--xav-primary)}.psy-link:hover{color:var(--psy-accent)}

/* ---- header tuning for this demo ---- */
.xav-site-header{--hdr-ink:var(--xav-dark)}
.xav-hdr-top{background:var(--xav-dark)}
.xav-hdr-main{background:rgba(255,255,255,.96)}
.xav-menu-list a{font-size:15.5px}

/* ---- hero ---- */
.psy-hero{background:radial-gradient(900px 540px at 88% 8%,rgba(201,131,90,.2),transparent 60%),radial-gradient(760px 520px at -5% 100%,color-mix(in srgb,var(--xav-primary) 14%,transparent),transparent 60%),var(--psy-cream);padding:clamp(40px,5vw,76px) 0 clamp(70px,9vw,130px);overflow:hidden}
.psy-hero-copy .elementor-widget-wrap{padding-right:clamp(0px,3vw,50px)}
.psy-badge{display:inline-flex;align-items:center;gap:10px;padding:10px 18px 10px 14px;border-radius:99px;background:#fff;box-shadow:0 14px 30px -18px color-mix(in srgb,var(--xav-dark) 50%,transparent);font:600 14px/1 var(--psy-body);color:var(--xav-dark);margin-bottom:26px}
.psy-badge i{width:9px;height:9px;border-radius:50%;background:#3fbf8a;box-shadow:0 0 0 5px rgba(63,191,138,.2)}
.psy-sec .elementor-widget.psy-h1{margin-bottom:26px}
.psy-h1 .elementor-heading-title{font-size:clamp(48px,6.4vw,98px);line-height:.98;letter-spacing:-.025em;color:var(--xav-dark);font-weight:600}
.psy-hero .psy-lead{max-width:560px}
.psy-trust{display:flex;align-items:center;gap:16px;margin-top:38px;font-size:14.5px;color:#5d6d68}
.psy-avatars{display:flex}.psy-avatars img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:3px solid var(--psy-cream);margin-left:-13px;background:#fff}.psy-avatars img:first-child{margin-left:0}
.psy-stars{color:#e8a33d;letter-spacing:2px;font-size:16px;line-height:1.1}.psy-trust b{color:var(--xav-dark)}
.psy-hero-art .elementor-widget-wrap{position:relative;justify-content:center;align-content:center}
.psy-hero-art .elementor-widget-wrap:before{content:"";position:absolute;top:-22px;left:10%;width:76%;height:96%;border:2px solid rgba(201,131,90,.5);border-radius:999px 999px 46px 46px}
.psy-hero-art .elementor-widget-wrap:after{content:"";position:absolute;right:4%;bottom:6%;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#e9b896,var(--psy-accent));opacity:.9;filter:blur(.3px)}
.psy-arch{position:relative;z-index:2;width:100%;max-width:470px}
.psy-arch img{display:block;width:100%;aspect-ratio:640/780;object-fit:cover;border-radius:999px 999px 40px 40px;box-shadow:0 60px 100px -48px color-mix(in srgb,var(--xav-dark) 70%,transparent)}
.psy-float{position:absolute!important;width:auto!important;z-index:5}
.psy-float-1{left:-2%;bottom:20%;animation:psy-bob 6.5s ease-in-out infinite}
.psy-float-2{right:-2%;top:12%;animation:psy-bob 7.5s ease-in-out -2s infinite}
@keyframes psy-bob{50%{transform:translateY(-12px)}}
.psy-fcard{display:flex;align-items:center;gap:14px;background:#fff;border-radius:22px;padding:15px 22px 15px 16px;box-shadow:0 30px 56px -24px color-mix(in srgb,var(--xav-dark) 50%,transparent)}
.psy-fcard strong{display:block;font:600 24px/1.05 var(--psy-serif);color:var(--xav-dark)}.psy-fcard small{display:block;font-size:13px;color:#6a7a75;margin-top:3px}
.psy-fcard .ic{width:44px;height:44px;border-radius:14px;background:var(--psy-accent);color:#fff;display:grid;place-items:center;font-size:20px}
.psy-fcard .dot{width:14px;height:14px;border-radius:50%;background:#3fbf8a;box-shadow:0 0 0 6px rgba(63,191,138,.22);margin:0 8px 0 6px}

/* ---- strip ---- */
.psy-strip{background:#fff;border-bottom:1px solid color-mix(in srgb,var(--xav-dark) 8%,transparent);padding:28px 0}
.psy-strip-in{display:flex;flex-wrap:wrap;gap:14px 46px;align-items:center;justify-content:center;font-size:14px;color:#7c8b86}
.psy-strip-in b{font:700 21px/1 var(--psy-serif);color:#51635d;letter-spacing:.06em;opacity:.8}

/* ---- about ---- */
.psy-about-art .elementor-widget-wrap{position:relative;padding:0 10% 12% 0}
.psy-about-1 img{display:block;width:100%;border-radius:260px 260px 30px 30px;box-shadow:var(--psy-shadow)}
.psy-about-2{position:absolute!important;right:0;bottom:0;width:46%!important;z-index:3}
.psy-about-2 img{display:block;width:100%;border-radius:140px 140px 24px 24px;border:8px solid #fff;box-shadow:var(--psy-shadow)}
.psy-exp{position:absolute;left:-14px;top:12%;z-index:4;background:var(--xav-dark);color:#fff;border-radius:24px;padding:20px 24px;box-shadow:0 30px 50px -24px color-mix(in srgb,var(--xav-dark) 70%,transparent);display:flex;align-items:center;gap:14px}
.psy-exp strong{font:600 46px/1 var(--psy-serif);color:#f1c8ad}.psy-exp span{font-size:13.5px;line-height:1.35;color:rgba(255,255,255,.8)}
.psy-about-copy .elementor-widget-wrap,.psy-about .elementor-column+.elementor-column>.elementor-widget-wrap{padding-left:clamp(0px,4vw,64px)}
.psy-checks .elementor-icon-list-items{display:grid;gap:14px;margin-bottom:6px}
.psy-checks .elementor-icon-list-item{align-items:flex-start}
.psy-checks .elementor-icon-list-icon{width:28px!important;height:28px;border-radius:50%;background:var(--xav-primary);display:grid!important;place-items:center;flex:none;margin-top:2px}
.psy-checks .elementor-icon-list-icon i{color:#fff!important;font-size:11px!important}
.psy-checks .elementor-icon-list-text{padding-left:14px!important;font-size:17.5px;color:var(--xav-dark);font-weight:500}
.psy-checks--sm .elementor-icon-list-items{gap:11px;margin:24px 0 30px}.psy-checks--sm .elementor-icon-list-text{font-size:16px;font-weight:400}
.psy-checks--card .elementor-widget-container{background:#fff;border-radius:var(--psy-radius);padding:36px 38px;box-shadow:var(--psy-shadow)}
.psy-checks--center .elementor-icon-list-items{justify-content:center;text-align:left;display:inline-grid}
.psy-mini{margin-top:20px;padding-top:18px;border-top:1px dashed color-mix(in srgb,var(--xav-dark) 18%,transparent)}
.psy-mini .elementor-icon-list-items{display:grid;gap:8px}.psy-mini .elementor-icon-list-icon i{color:var(--psy-accent)!important;font-size:12px}.psy-mini .elementor-icon-list-text{font-size:15px;padding-left:10px!important}

/* ---- cards (services / values / info) ---- */
.psy-services--head{padding-bottom:0}
.psy-services.psy-grid{padding:20px 0 0}.psy-grid--last{padding-bottom:clamp(64px,8.5vw,118px)!important}
.psy-values--head,.psy-team-sec--head,.psy-testi-sec--head,.psy-blog--head,.psy-process--head{padding-bottom:0}
.psy-services--head+.psy-grid,.psy-services{background:transparent}
.psy-sec.psy-grid{padding-top:12px;padding-bottom:12px}
.elementor-section .elementor-column.psy-card>.elementor-widget-wrap{margin:12px;padding:40px 34px 38px;background:#fff;border-radius:var(--psy-radius);box-shadow:0 22px 50px -34px color-mix(in srgb,var(--xav-dark) 45%,transparent),0 0 0 1px color-mix(in srgb,var(--xav-dark) 5%,transparent);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s;align-content:flex-start}
.elementor-section .elementor-column.psy-card>.elementor-widget-wrap:hover{transform:translateY(-10px);box-shadow:0 44px 70px -36px color-mix(in srgb,var(--xav-dark) 55%,transparent),0 0 0 1px color-mix(in srgb,var(--xav-primary) 18%,transparent)}
.psy-card .elementor-icon-box-wrapper{display:block;text-align:left}
.psy-card .elementor-icon-box-icon{display:block;margin:0 0 26px!important}
.psy-card .elementor-icon{display:grid!important;place-items:center;width:70px;height:70px;border-radius:22px;background:var(--xav-light);color:var(--xav-primary)!important;font-size:28px!important;transition:.4s}
.psy-card .elementor-icon i,.psy-card .elementor-icon svg{color:inherit;fill:currentColor}
.psy-card:hover .elementor-icon{background:var(--xav-primary);color:#fff!important;transform:rotate(-6deg)}
.psy-card .elementor-icon-box-title{margin:0 0 12px;font:600 29px/1.1 var(--psy-serif);color:var(--xav-dark)}
.psy-card .elementor-icon-box-title a{color:inherit}.psy-card .elementor-icon-box-title a:hover{color:var(--xav-primary)}
.psy-card .elementor-icon-box-description{font-size:16.5px;line-height:1.7;color:var(--xav-text)}
.psy-card .elementor-icon-box-description a{color:var(--xav-primary);font-weight:600}
.elementor-section .elementor-column.psy-card--info>.elementor-widget-wrap{text-align:left;padding:34px}
.elementor-section .elementor-column.psy-card--lg>.elementor-widget-wrap{padding:44px 38px 40px}

/* ---- approach ---- */
.psy-approach{background:var(--psy-cream)}
.psy-approach-art .elementor-widget-wrap{padding-right:clamp(0px,4vw,60px)}
.psy-round img{display:block;width:100%;border-radius:200px 200px 34px 34px;box-shadow:var(--psy-shadow)}
.psy-round--lg img{border-radius:var(--psy-radius);margin-bottom:34px}

/* ---- accordion ---- */
.psy-acc{margin-top:8px}
.psy-acc .elementor-accordion-item{border:0!important;background:#fff;border-radius:22px;margin-bottom:14px;overflow:hidden;box-shadow:0 16px 36px -28px color-mix(in srgb,var(--xav-dark) 45%,transparent),0 0 0 1px color-mix(in srgb,var(--xav-dark) 5%,transparent);transition:box-shadow .3s}
.psy-acc .elementor-accordion-item:has(.elementor-active){box-shadow:0 26px 50px -30px color-mix(in srgb,var(--xav-dark) 50%,transparent),0 0 0 1.5px color-mix(in srgb,var(--xav-primary) 35%,transparent)}
.psy-acc .elementor-tab-title{padding:24px 30px!important;font:600 23px/1.25 var(--psy-serif);color:var(--xav-dark)!important;margin:0;display:flex;align-items:center;gap:18px;justify-content:space-between}
.psy-acc .elementor-tab-title a{color:inherit!important;order:1;flex:1;font-weight:600}
.psy-acc .elementor-accordion-icon{order:2;float:none!important;width:36px!important;height:36px;border-radius:50%;background:var(--xav-light);display:grid;place-items:center;color:var(--xav-primary);font-size:12px;flex:none;transition:.3s}
.psy-acc .elementor-active .elementor-accordion-icon{background:var(--xav-primary);color:#fff}
.psy-acc .elementor-accordion-icon i,.psy-acc .elementor-accordion-icon svg{width:auto;height:auto}
.psy-acc .elementor-tab-content{border:0!important;padding:0 30px 28px!important;font-size:16.5px;line-height:1.75;color:var(--xav-text)}

/* ---- dark process ---- */
.psy-dark{background:var(--xav-dark);color:rgba(255,255,255,.78)}
.psy-dark.psy-process--head{background:radial-gradient(620px 240px at 100% 0,rgba(201,131,90,.25),transparent 70%),radial-gradient(520px 240px at 0 0,color-mix(in srgb,var(--xav-primary) 30%,transparent),transparent 70%),var(--xav-dark)}
.psy-dark .psy-title .elementor-heading-title{color:#fff}.psy-dark .psy-title em{color:#f1c8ad}.psy-dark .psy-eyebrow .elementor-heading-title{color:#f1c8ad}.psy-dark .psy-sub{color:rgba(255,255,255,.78)}
.psy-process--head{padding-bottom:clamp(20px,3vw,40px)}
.psy-process.psy-grid.psy-grid--last{padding-bottom:clamp(70px,9vw,120px)!important;padding-top:0}
.elementor-section .elementor-column.psy-step>.elementor-widget-wrap{margin:12px;padding:38px 32px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--psy-radius);transition:.4s;backdrop-filter:blur(4px)}
.elementor-section .elementor-column.psy-step>.elementor-widget-wrap:hover{background:rgba(255,255,255,.09);border-color:rgba(241,200,173,.6);transform:translateY(-8px)}
.psy-num{display:block;font:600 70px/1 var(--psy-serif);color:rgba(241,200,173,.9);margin-bottom:16px}
.psy-step-t .elementor-heading-title{font-size:28px;color:#fff;margin:0 0 10px}.psy-step-d{font-size:16px;line-height:1.7;color:rgba(255,255,255,.75)}

/* ---- team ---- */
.psy-team-sec{background:var(--psy-cream)}
.psy-team-sec.psy-grid{background:var(--psy-cream)}
.elementor-section .elementor-column.psy-team>.elementor-widget-wrap{margin:12px;padding:14px 14px 30px;background:#fff;border-radius:var(--psy-radius);box-shadow:0 22px 50px -34px color-mix(in srgb,var(--xav-dark) 45%,transparent);transition:transform .45s,box-shadow .45s;align-content:flex-start}
.elementor-section .elementor-column.psy-team>.elementor-widget-wrap:hover{transform:translateY(-8px);box-shadow:0 44px 70px -36px color-mix(in srgb,var(--xav-dark) 55%,transparent)}
.psy-team-img img{display:block;width:100%;aspect-ratio:1/1.05;object-fit:cover;border-radius:22px 22px 120px 22px;margin-bottom:22px}
.psy-team-n,.psy-team-r,.psy-team-d,.psy-team .elementor-widget-html{padding:0 14px;width:100%}
.psy-team-n .elementor-heading-title{font-size:27px;margin:0 0 4px;line-height:1.1}
.psy-team-r{font:700 12.5px/1.4 var(--psy-body);letter-spacing:.09em;text-transform:uppercase;color:var(--psy-accent);margin-bottom:12px}.psy-team-r p{margin:0}
.psy-team-d{font-size:15.5px;line-height:1.7}.psy-team .psy-link{display:inline-block;margin:14px 14px 0}
.psy-team-sec--head{padding-bottom:0}.psy-team-sec.psy-grid{padding-top:12px}

/* ---- stats ---- */
.psy-stats{background:linear-gradient(115deg,#2f6f62,#1b4a40 60%,#17302b);color:#fff;padding:clamp(54px,6vw,84px) 0;overflow:hidden}
.psy-stats:before{content:"";position:absolute;right:-120px;top:-160px;width:420px;height:420px;border-radius:50%;background:rgba(241,200,173,.14)}
.psy-stats .elementor-counter-number-wrapper{justify-content:center;font:600 clamp(48px,5.4vw,80px)/1 var(--psy-serif);color:#fff}
.psy-stats .elementor-counter-title{text-align:center;margin-top:10px;font:600 13.5px/1.3 var(--psy-body);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.psy-stat+.psy-stat>.elementor-widget-wrap{border-left:1px solid rgba(255,255,255,.18)}
@media(max-width:1024px){.psy-stat>.elementor-widget-wrap{border:0!important;padding:14px 0}}

/* ---- testimonials ---- */
.psy-testi-sec--head{padding-bottom:0}
.elementor-section .elementor-column.psy-testi>.elementor-widget-wrap{margin:12px;padding:44px 38px 38px;background:var(--psy-cream);border-radius:var(--psy-radius);position:relative;transition:.45s;align-content:flex-start}
.elementor-section .elementor-column.psy-testi>.elementor-widget-wrap:hover{transform:translateY(-8px);background:#fff;box-shadow:0 44px 70px -36px color-mix(in srgb,var(--xav-dark) 50%,transparent),0 0 0 1px color-mix(in srgb,var(--xav-primary) 15%,transparent)}
.elementor-section .elementor-column.psy-testi>.elementor-widget-wrap:before{content:"\201C";position:absolute;right:30px;top:6px;font:700 130px/1 var(--psy-serif);color:rgba(201,131,90,.28)}
.psy-testi .elementor-testimonial-wrapper{text-align:left}
.psy-testi .elementor-testimonial-content{font-size:18.5px;line-height:1.75;color:var(--xav-dark);margin-bottom:26px;position:relative}
.psy-testi .elementor-testimonial-content:before{content:"\2605\2605\2605\2605\2605";display:block;color:#e8a33d;letter-spacing:3px;font-size:17px;margin-bottom:16px}
.psy-testi .elementor-testimonial-name{font:600 26px/1.1 var(--psy-serif);color:var(--xav-dark)}
.psy-testi .elementor-testimonial-job{font:600 12.5px/1.4 var(--psy-body);letter-spacing:.1em;text-transform:uppercase;color:var(--psy-accent);margin-top:4px}

/* ---- faq ---- */
.psy-faq{background:var(--psy-cream)}.psy-faq--solo{padding-top:20px;padding-bottom:clamp(60px,8vw,100px)}.psy-faq--head{padding-bottom:0}
.psy-faq-copy .elementor-widget-wrap{padding-right:clamp(0px,4vw,60px)}
.psy-askcard{background:var(--xav-dark);color:#fff;border-radius:var(--psy-radius);padding:30px 32px;display:grid;gap:6px;margin-top:10px;box-shadow:0 34px 60px -34px color-mix(in srgb,var(--xav-dark) 70%,transparent)}
.psy-askcard span{font:600 25px/1.15 var(--psy-serif);color:#f1c8ad;margin-bottom:6px}.psy-askcard a{color:#fff;font-weight:600}.psy-askcard a:hover{color:#f1c8ad}

/* ---- blog ---- */
.psy-blog--head{padding-bottom:0}.psy-blog--grid{padding-top:clamp(28px,4vw,52px)}.psy-blog--page{padding-top:clamp(40px,5vw,70px)}
.psy-blog--page .xav-pgrid,.psy-blog--grid .xav-pgrid{gap:30px}
.xav-pcard{border-radius:var(--psy-radius)}.xav-pcard h3{font-family:var(--psy-serif);font-size:27px}
.xav-pcard .cat{background:var(--psy-cream);color:var(--psy-accent)}

/* ---- CTA ---- */
.psy-cta-sec{padding:clamp(40px,5vw,70px) 0 clamp(70px,9vw,120px)}
.elementor-section .elementor-column.psy-cta>.elementor-widget-wrap{margin:0;padding:clamp(54px,7vw,100px) clamp(24px,5vw,80px)!important;border-radius:clamp(30px,4vw,52px);background:radial-gradient(520px 320px at 100% 0,rgba(201,131,90,.55),transparent 65%),radial-gradient(520px 360px at 0 100%,color-mix(in srgb,var(--xav-primary) 60%,transparent),transparent 65%),var(--xav-dark);position:relative;overflow:hidden;justify-content:center;box-shadow:0 50px 90px -48px color-mix(in srgb,var(--xav-dark) 80%,transparent)}
.elementor-section .elementor-column.psy-cta>.elementor-widget-wrap:before{content:"";position:absolute;left:50%;top:-180px;width:560px;height:560px;margin-left:-280px;border-radius:50%;border:1.5px solid rgba(255,255,255,.1)}
.elementor-section .elementor-column.psy-cta>.elementor-widget-wrap:after{content:"";position:absolute;left:50%;top:-110px;width:420px;height:420px;margin-left:-210px;border-radius:50%;border:1.5px solid rgba(255,255,255,.08)}
.psy-cta .elementor-widget{position:relative;z-index:2}.psy-cta .psy-title .elementor-heading-title{font-size:clamp(40px,5vw,72px)}

/* ---- inner banner ---- */
.psy-banner{background:radial-gradient(700px 360px at 90% 0,rgba(201,131,90,.22),transparent 60%),radial-gradient(600px 360px at 0 100%,color-mix(in srgb,var(--xav-primary) 18%,transparent),transparent 60%),var(--psy-cream);padding:clamp(60px,8vw,112px) 0 clamp(54px,7vw,96px);overflow:hidden;text-align:center}
.psy-banner:before,.psy-banner:after{content:"";position:absolute;border:2px solid rgba(201,131,90,.35);border-radius:999px 999px 30px 30px;pointer-events:none}
.psy-banner:before{left:5%;bottom:-70px;width:150px;height:210px}.psy-banner:after{right:7%;top:-40px;width:110px;height:160px;border-color:color-mix(in srgb,var(--xav-primary) 30%,transparent)}
.psy-banner .xav-crumbs{justify-content:center;margin-bottom:18px;font-size:14px;color:#6a7a75}.psy-banner .xav-crumbs span{color:var(--xav-dark);font-weight:600}
.psy-sec .elementor-widget.psy-banner-title{margin-bottom:18px}.psy-banner-title .elementor-heading-title{font-size:clamp(46px,6.2vw,88px);line-height:1;letter-spacing:-.02em;color:var(--xav-dark)}
.psy-banner-sub{max-width:620px;margin:0 auto;font-size:19px}.psy-banner-sub p{margin:0}
.psy-spacer{padding:0!important}.psy-spacer--sm{padding:0!important}

.psy-banner+.psy-grid{padding-top:clamp(40px,5vw,70px)}
.psy-banner+.psy-sec.psy-grid{padding-top:clamp(40px,5vw,70px)}

/* ---- service detail ---- */
.psy-detail{padding-top:clamp(50px,6vw,90px)}
.psy-detail-main .elementor-widget-wrap{padding-right:clamp(0px,3vw,48px)}
.psy-side{align-self:flex-start;position:sticky;top:140px}
.psy-sidecard{background:#fff;border-radius:var(--psy-radius);padding:30px 30px 32px;margin-bottom:20px;box-shadow:0 22px 50px -34px color-mix(in srgb,var(--xav-dark) 45%,transparent),0 0 0 1px color-mix(in srgb,var(--xav-dark) 6%,transparent);display:grid;gap:8px}
.psy-sidecard .k{font:700 12.5px/1 var(--psy-body);letter-spacing:.16em;text-transform:uppercase;color:var(--psy-accent);margin-bottom:6px}
.psy-sidecard a:not(.psy-btn){color:var(--xav-dark);font-weight:600;padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--xav-dark) 8%,transparent)}.psy-sidecard a:not(.psy-btn):hover{color:var(--xav-primary)}.psy-sidecard a:last-child{border:0}
.psy-sidecard--book{background:var(--xav-dark);color:rgba(255,255,255,.82);box-shadow:0 40px 70px -36px color-mix(in srgb,var(--xav-dark) 80%,transparent)}
.psy-sidecard--book ul{list-style:none;margin:8px 0 14px;padding:0;display:grid;gap:8px}.psy-sidecard--book li:before{content:"\2713";color:#f1c8ad;margin-right:10px;font-weight:700}
.psy-sidecard--book .psy-amt{color:#fff}.psy-sidecard--book .psy-btn{background:#fff;color:var(--xav-dark)}.psy-sidecard--book .psy-btn:hover{background:var(--psy-accent);color:#fff}
.psy-sidecard--soft{background:var(--psy-cream);box-shadow:none}

/* ---- pricing ---- */
.psy-pricing.psy-grid{padding-top:clamp(30px,4vw,56px)}
.elementor-section .elementor-column.psy-price>.elementor-widget-wrap{margin:14px;padding:44px 38px 40px;background:#fff;border-radius:var(--psy-radius);box-shadow:0 22px 50px -34px color-mix(in srgb,var(--xav-dark) 45%,transparent),0 0 0 1px color-mix(in srgb,var(--xav-dark) 7%,transparent);position:relative;align-content:flex-start;transition:.45s}
.elementor-section .elementor-column.psy-price>.elementor-widget-wrap:hover{transform:translateY(-8px)}
.elementor-section .elementor-column.psy-price--pop>.elementor-widget-wrap{background:radial-gradient(420px 260px at 100% 0,rgba(201,131,90,.4),transparent 65%),var(--xav-dark);box-shadow:0 50px 90px -40px color-mix(in srgb,var(--xav-dark) 85%,transparent);margin-top:0;margin-bottom:0;padding-top:58px;padding-bottom:54px;color:rgba(255,255,255,.82)}
.psy-plan{display:block;font:700 13px/1 var(--psy-body);letter-spacing:.18em;text-transform:uppercase;color:var(--psy-accent);margin-bottom:22px}
.psy-pop{position:absolute;right:26px;top:24px;background:var(--psy-accent);color:#fff;font:700 11.5px/1 var(--psy-body);letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;border-radius:99px}
.psy-amt{font:600 76px/1 var(--psy-serif);color:var(--xav-dark);display:flex;align-items:flex-start;gap:4px}.psy-amt sup{font-size:34px;margin-top:8px}.psy-amt small{font:500 15px/1 var(--psy-body);color:#7a8984;align-self:flex-end;margin:0 0 12px 8px}
.psy-price--pop .psy-amt{color:#fff}.psy-price--pop .psy-amt small{color:rgba(255,255,255,.65)}
.psy-plan-d{margin:14px 0 4px;font-size:16px}.psy-price--pop .psy-plan-d{color:rgba(255,255,255,.78)}
.psy-price--pop .elementor-icon-list-text{color:#fff}.psy-price--pop .elementor-icon-list-icon{background:var(--psy-accent)}
.psy-price .psy-btn{width:100%;margin-top:4px}.psy-price .elementor-widget-html{width:100%}
.psy-note-sec{padding:0 0 clamp(40px,5vw,64px)}.psy-note{background:var(--psy-cream);border-radius:24px;padding:26px 32px;border-left:5px solid var(--psy-accent);color:var(--xav-dark);font-size:17px}

/* ---- contact / booking ---- */
.psy-contact-info.psy-grid{padding-top:clamp(30px,4vw,56px);padding-bottom:0}
.psy-contact-main{padding-top:clamp(50px,6vw,90px)}
.psy-form-col .elementor-widget-wrap{padding-right:clamp(0px,3vw,46px)}
.elementor-section .elementor-column.psy-map-col>.elementor-widget-wrap{padding-top:0}
.psy-map iframe{border-radius:var(--psy-radius);box-shadow:var(--psy-shadow)}
.psy-hours{background:var(--psy-cream);border-radius:var(--psy-radius);padding:28px 32px;margin-top:22px;display:grid;gap:12px}
.psy-hours .k{font:700 12.5px/1 var(--psy-body);letter-spacing:.16em;text-transform:uppercase;color:var(--psy-accent)}
.psy-hours div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px dashed color-mix(in srgb,var(--xav-dark) 16%,transparent);padding-bottom:10px;font-size:16px}.psy-hours div:last-child{border:0;padding:0}.psy-hours b{color:var(--xav-dark)}
.psy-formcard .elementor-widget-container{background:#fff;border-radius:34px;padding:clamp(26px,4vw,50px);box-shadow:0 40px 80px -44px color-mix(in srgb,var(--xav-dark) 55%,transparent),0 0 0 1px color-mix(in srgb,var(--xav-dark) 6%,transparent)}
.psy-formcard .xav-form .xf-grid{gap:18px 20px}
.psy-book-copy .elementor-widget-wrap{padding-right:clamp(0px,4vw,56px)}
.psy-timeline{list-style:none;margin:6px 0 30px;padding:0;counter-reset:s;display:grid;gap:22px;position:relative}
.psy-timeline:before{content:"";position:absolute;left:21px;top:10px;bottom:10px;width:2px;background:color-mix(in srgb,var(--xav-primary) 22%,transparent)}
.psy-timeline li{counter-increment:s;position:relative;padding-left:66px;display:grid;gap:2px}
.psy-timeline li:before{content:counter(s);position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;background:var(--xav-primary);color:#fff;display:grid;place-items:center;font:600 22px/1 var(--psy-serif);box-shadow:0 0 0 6px #fff,0 14px 24px -12px var(--xav-primary)}
.psy-timeline b{font:600 24px/1.2 var(--psy-serif);color:var(--xav-dark)}.psy-timeline span{font-size:15.5px}
.psy-join{padding-top:clamp(20px,3vw,40px)}

/* ---- footer in this demo ---- */
.xav-ftr-main:not(.xav-ftr-card){background:radial-gradient(600px 360px at 100% 0,rgba(201,131,90,.14),transparent 60%),var(--xav-dark)}
.xav-ftr .elementor-icon-list-icon i{color:var(--psy-accent)}
.xav-ftr .xav-sc-logo{font-family:var(--psy-serif);font-size:30px;font-weight:600}

/* ---- responsive ---- */
@media(max-width:1024px){
  .psy-hero-art{margin-top:26px}.psy-arch{max-width:420px;margin:0 auto}
  .psy-about-art .elementor-widget-wrap{max-width:560px;margin:0 auto}
  .psy-about .elementor-column+.elementor-column>.elementor-widget-wrap,.psy-about-copy .elementor-widget-wrap{padding-left:0;padding-top:30px}
  .psy-side{position:static}.psy-detail-main .elementor-widget-wrap,.psy-form-col .elementor-widget-wrap,.psy-book-copy .elementor-widget-wrap,.psy-faq-copy .elementor-widget-wrap{padding-right:0}
  .psy-approach-art .elementor-widget-wrap{padding-right:0;padding-bottom:26px}
  .elementor-section .elementor-column.psy-price--pop>.elementor-widget-wrap{margin-top:14px;margin-bottom:14px}
}
@media(max-width:767px){
  .psy-sec>.elementor-container{padding-left:14px;padding-right:14px}
  body{font-size:16.5px}
  .psy-float-1{left:0;bottom:14%}.psy-float-2{right:0;top:6%}.psy-fcard{padding:12px 16px 12px 12px}.psy-fcard strong{font-size:20px}
  .psy-hero-art .elementor-widget-wrap:after{width:100px;height:100px}
  .psy-h1 .elementor-heading-title{font-size:clamp(44px,13vw,60px)}
  .psy-actions .psy-btn{width:100%}.psy-trust{margin-top:30px}
  .psy-exp{left:0;padding:14px 18px}.psy-exp strong{font-size:36px}
  .psy-acc .elementor-tab-title{padding:20px 22px!important;font-size:20px}.psy-acc .elementor-tab-content{padding:0 22px 24px!important}
  .psy-amt{font-size:64px}
  .psy-hours div{flex-direction:column;gap:2px}
  .psy-banner:before,.psy-banner:after{display:none}
}

/* native Button widgets */
.elementor-widget-button .elementor-button{transition:transform .3s,background .3s,color .3s}.elementor-widget-button .elementor-button:hover{transform:translateY(-3px)}
.psy-center .elementor-widget-wrap{justify-content:center}

/* =====================================================================
   MOTION LAYER - premium animations & hover effects (driven by motion.js)
   ===================================================================== */
::selection{background:var(--xav-primary);color:#fff}
html{scroll-behavior:smooth}
.psy-progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:100001;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--xav-primary),var(--psy-accent),#f1c8ad);pointer-events:none}
.psy-cursor{position:fixed;left:0;top:0;width:320px;height:320px;border-radius:50%;pointer-events:none;z-index:1;opacity:0;transition:opacity .5s,width .4s,height .4s;background:radial-gradient(circle,color-mix(in srgb,var(--xav-primary) 20%,transparent),transparent 62%);mix-blend-mode:multiply}
.psy-cursor.on{opacity:.9}.psy-cursor.big{opacity:.55}
.xav-main,.xav-site-header,.xav-ftr{position:relative;z-index:2}

/* ---- scroll reveal ---- */
html.psy-js .psy-rv{opacity:0;transform:translate3d(0,38px,0) scale(.985);filter:blur(6px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),filter .9s}
html.psy-js .psy-rv--left{transform:translate3d(-48px,24px,0)}
html.psy-js .psy-rv--zoom{transform:translate3d(0,30px,0) scale(.9)}
html.psy-js .psy-rv.is-in{opacity:1;transform:none;filter:none}

/* ---- parallax hooks ---- */
.psy-arch,.psy-about-1,.psy-about-2,.psy-exp,.psy-round{--py:0px}
.psy-arch img,.psy-about-1 img,.psy-round img{transform:translate3d(0,var(--py),0) scale(1.04);transition:transform .25s linear,box-shadow .5s}
.psy-about-2,.psy-exp{translate:0 var(--py)}
.psy-float-1,.psy-float-2{translate:0 var(--py,0)}

/* ---- header ---- */
.xav-site-header{transition:box-shadow .4s,background .4s,transform .4s}
.xav-site-header.is-stuck{box-shadow:0 18px 40px -26px rgba(23,48,43,.45)}
.xav-menu-list a{position:relative;transition:color .3s}
.xav-menu-list>li>a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--psy-accent);transform:scaleX(0);transform-origin:right;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.xav-menu-list>li>a:hover:after,.xav-menu-list>li.current-menu-item>a:after{transform:scaleX(1);transform-origin:left}

/* ---- buttons: pill + shine sweep + magnetic ---- */
.elementor-widget-button .elementor-button,.psy-btn,.xav-btn{position:relative;overflow:hidden;isolation:isolate;border-radius:99px;transform:translate3d(var(--bx,0),var(--by,0),0);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .4s,background .4s,color .4s;box-shadow:0 22px 38px -20px var(--xav-primary)}
.elementor-widget-button .elementor-button:before,.psy-btn:before,.xav-btn:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.38) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.elementor-widget-button .elementor-button:hover:before,.psy-btn:hover:before,.xav-btn:hover:before{transform:translateX(120%)}
.elementor-widget-button .elementor-button:hover{box-shadow:0 30px 50px -22px var(--xav-primary);background:var(--xav-dark)}
.elementor-widget-button .elementor-button:active{transform:translate3d(var(--bx,0),var(--by,0),0) scale(.96)}
.elementor-widget-button .elementor-button-icon{transition:transform .35s}.elementor-widget-button .elementor-button:hover .elementor-button-icon{transform:translateX(5px)}

/* ---- hero ---- */
.psy-hero{background-size:140% 140%,140% 140%,auto;animation:psy-bg 18s ease-in-out infinite alternate}
@keyframes psy-bg{from{background-position:100% 0,0 100%,0 0}to{background-position:70% 30%,20% 70%,0 0}}
.psy-hero-art .elementor-widget-wrap:before{animation:psy-ring 14s ease-in-out infinite alternate}
@keyframes psy-ring{from{transform:rotate(-2.5deg) scale(1)}to{transform:rotate(2.5deg) scale(1.04)}}
.psy-hero-art .elementor-widget-wrap:after{animation:psy-sun 9s ease-in-out infinite alternate}
@keyframes psy-sun{from{transform:translateY(0) scale(1)}to{transform:translateY(-26px) scale(1.12)}}
.psy-h1 .elementor-heading-title em{background:linear-gradient(100deg,var(--xav-primary),var(--psy-accent),var(--xav-primary));background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:psy-shine 6s linear infinite}
@keyframes psy-shine{to{background-position:-220% 0}}
.psy-badge i{animation:psy-pulse 2s infinite}
@keyframes psy-pulse{0%{box-shadow:0 0 0 0 rgba(63,191,138,.55)}100%{box-shadow:0 0 0 12px rgba(63,191,138,0)}}
.psy-arch img{transition:transform .8s cubic-bezier(.2,.7,.2,1),box-shadow .6s}
.psy-arch:hover img{box-shadow:0 70px 110px -44px color-mix(in srgb,var(--xav-dark) 80%,transparent)}
.psy-fcard{transition:transform .4s,box-shadow .4s}.psy-fcard:hover{transform:scale(1.06) rotate(-1deg)}
.psy-avatars img{transition:transform .35s}.psy-avatars img:hover{transform:translateY(-6px) scale(1.12);position:relative;z-index:3}

/* ---- eyebrow line + title underline ---- */
.psy-eyebrow .elementor-heading-title:before{width:0;transition:width .9s .2s cubic-bezier(.2,.7,.2,1)}
.psy-eyebrow.is-in .elementor-heading-title:before,html:not(.psy-js) .psy-eyebrow .elementor-heading-title:before{width:34px}
.psy-title em{background:linear-gradient(var(--psy-accent),var(--psy-accent)) 0 92%/0 .09em no-repeat;transition:background-size 1s .5s cubic-bezier(.2,.7,.2,1)}
.psy-title.is-in em{background-size:100% .09em}

/* ---- accreditation strip ---- */
.psy-strip-in b,.psy-strip .elementor-heading-title{transition:color .3s,transform .3s,opacity .3s}
.psy-strip .elementor-column:hover .elementor-heading-title{color:var(--xav-primary);transform:translateY(-3px) scale(1.06);opacity:1}

/* ---- service cards: tilt, spotlight, accent line ---- */
.psy-tilt{transform:perspective(900px) rotateX(var(--rx,0)) rotateY(var(--ry,0));transform-style:preserve-3d;--mx:50%;--my:50%;position:relative;overflow:hidden}
.elementor-section .elementor-column.psy-card>.elementor-widget-wrap:hover,.elementor-section .elementor-column.psy-team>.elementor-widget-wrap:hover,.elementor-section .elementor-column.psy-testi>.elementor-widget-wrap:hover{transform:perspective(900px) rotateX(var(--rx,0)) rotateY(var(--ry,0)) translateY(-10px)}
.psy-tilt:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(380px circle at var(--mx) var(--my),color-mix(in srgb,var(--psy-accent) 16%,transparent),transparent 60%)}
.psy-tilt:hover:after{opacity:1}
.psy-card>.elementor-widget-wrap:before{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:linear-gradient(90deg,var(--xav-primary),var(--psy-accent));transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.psy-card:hover>.elementor-widget-wrap:before{transform:scaleX(1)}
.psy-card:hover .elementor-icon{animation:psy-wiggle .7s}
@keyframes psy-wiggle{30%{transform:rotate(-12deg) scale(1.12)}60%{transform:rotate(6deg) scale(1.05)}100%{transform:rotate(-6deg)}}
.psy-card .elementor-icon-box-title{transition:color .3s,transform .4s}.psy-card:hover .elementor-icon-box-title{color:var(--xav-primary);transform:translateX(4px)}

/* ---- accordion ---- */
.psy-acc .elementor-accordion-item{transition:transform .35s,box-shadow .35s}.psy-acc .elementor-accordion-item:hover{transform:translateX(6px)}
.psy-acc .elementor-tab-title:hover .elementor-accordion-icon{background:var(--xav-primary);color:#fff;transform:rotate(90deg)}
.psy-acc .elementor-tab-content{animation:psy-fade .5s}
@keyframes psy-fade{from{opacity:0;transform:translateY(-8px)}}

/* ---- dark process ---- */
.psy-num{background:linear-gradient(120deg,#f1c8ad,#fff,#f1c8ad);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;transition:background-position .8s}
.psy-step:hover .psy-num{background-position:100% 0;transform:scale(1.08) translateX(6px)}.psy-num,.psy-step .elementor-widget-heading:first-child .elementor-heading-title{transition:transform .5s}
.psy-step>.elementor-widget-wrap{position:relative;overflow:hidden}
.psy-process.psy-grid .elementor-container{position:relative}
.psy-process.psy-grid .elementor-container:before{content:"";position:absolute;left:8%;right:8%;top:62px;height:1px;background:repeating-linear-gradient(90deg,rgba(241,200,173,.5) 0 8px,transparent 8px 18px);z-index:0}
@media(max-width:1024px){.psy-process.psy-grid .elementor-container:before{display:none}}

/* ---- team ---- */
.psy-team-img{overflow:hidden;border-radius:22px 22px 120px 22px;margin-bottom:22px}
.psy-team-img img{margin:0!important;border-radius:0!important;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .6s}
.psy-team:hover .psy-team-img img{transform:scale(1.1) rotate(1deg)}
.psy-team-n .elementor-heading-title{transition:color .3s,letter-spacing .4s}.psy-team:hover .psy-team-n .elementor-heading-title{color:var(--xav-primary);letter-spacing:.01em}

/* ---- stats ---- */
.psy-stats{background-size:200% 200%;animation:psy-bg2 14s ease-in-out infinite alternate}
@keyframes psy-bg2{to{background-position:100% 100%}}
.psy-stats:after{content:"";position:absolute;left:-100px;bottom:-180px;width:380px;height:380px;border-radius:50%;border:1.5px solid rgba(241,200,173,.3);animation:psy-ring 12s ease-in-out infinite alternate}
.psy-stat>.elementor-widget-wrap{transition:transform .4s}.psy-stat:hover>.elementor-widget-wrap{transform:translateY(-8px) scale(1.05)}
.psy-stats .elementor-counter-number-wrapper{text-shadow:0 10px 30px rgba(0,0,0,.25)}

/* ---- testimonials ---- */
.elementor-section .elementor-column.psy-testi>.elementor-widget-wrap:before{transition:transform .6s,color .4s}
.psy-testi:hover>.elementor-widget-wrap:before{transform:rotate(-8deg) scale(1.2);color:rgba(201,131,90,.5)}
.psy-testi .elementor-testimonial-content:before{animation:psy-twinkle 3s ease-in-out infinite}
@keyframes psy-twinkle{50%{opacity:.6;letter-spacing:5px}}

/* ---- blog cards ---- */
.xav-pcard{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s;overflow:hidden}
.xav-pcard:hover{transform:translateY(-10px);box-shadow:0 44px 70px -36px color-mix(in srgb,var(--xav-dark) 55%,transparent)}
.xav-pcard img,.xav-pcard .thumb{transition:transform 1s cubic-bezier(.2,.7,.2,1)}.xav-pcard:hover img,.xav-pcard:hover .thumb{transform:scale(1.08)}
.xav-pcard h3{transition:color .3s}.xav-pcard:hover h3{color:var(--xav-primary)}

/* ---- CTA ---- */
.psy-cta>.elementor-widget-wrap:before{animation:psy-spin 40s linear infinite}
.psy-cta>.elementor-widget-wrap:after{animation:psy-spin 28s linear infinite reverse}
@keyframes psy-spin{to{transform:rotate(360deg)}}
.psy-cta>.elementor-widget-wrap{background-size:140% 140%;animation:psy-bg2 12s ease-in-out infinite alternate}

/* ---- footer ---- */
.xav-ftr a{transition:color .3s,transform .3s,padding .3s}.xav-ftr li a:hover{color:#f1c8ad;padding-left:8px}
.xav-ftr .xav-social a,.xav-ftr [class*=social] a{transition:transform .35s,background .35s}.xav-ftr [class*=social] a:hover{transform:translateY(-5px) rotate(8deg);background:var(--psy-accent)}

@media(max-width:1024px){.psy-cursor{display:none}.psy-tilt{transform:none!important}html.psy-js .psy-rv--left{transform:translate3d(0,30px,0)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}html.psy-js .psy-rv{opacity:1;transform:none;filter:none}}

/* =====================================================================
   REFINE v11 - alignment, icons (Font Awesome as inline SVG or font), hero / strip / about
   Works with ANY brand palette (all colours come from --xav-* / --psy-* variables).
   ===================================================================== */

/* ---- icons: colour both <i> fonts and inline <svg> ---- */
.psy-checks .elementor-icon-list-icon,.psy-mini .elementor-icon-list-icon{display:inline-flex!important;align-items:center;justify-content:center;flex:none}
.psy-checks .elementor-icon-list-icon{width:30px!important;height:30px!important;border-radius:50%;margin-top:0;background:linear-gradient(135deg,var(--xav-primary),color-mix(in srgb,var(--xav-primary) 62%,#000));box-shadow:0 10px 20px -10px var(--xav-primary);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.psy-checks .elementor-icon-list-icon i,.psy-checks .elementor-icon-list-icon svg{width:12px!important;height:12px!important;font-size:12px!important;line-height:1;color:#fff!important;fill:#fff!important}
.psy-checks .elementor-icon-list-icon svg path{fill:#fff!important}
.psy-checks .elementor-icon-list-item{align-items:center!important;transition:transform .35s}
.psy-checks .elementor-icon-list-item:hover{transform:translateX(6px)}
.psy-checks .elementor-icon-list-item:hover .elementor-icon-list-icon{transform:scale(1.14) rotate(-8deg);box-shadow:0 14px 26px -10px var(--xav-primary)}
.psy-checks .elementor-icon-list-text{padding-left:16px!important}
.psy-mini .elementor-icon-list-icon i,.psy-mini .elementor-icon-list-icon svg{width:13px!important;height:13px!important;font-size:13px!important;color:var(--psy-accent)!important;fill:var(--psy-accent)!important}
.psy-mini .elementor-icon-list-icon svg path{fill:var(--psy-accent)!important}
.xav-ftr .elementor-icon-list-icon svg,.xav-ftr .elementor-icon-list-icon svg path{fill:var(--psy-accent)!important}
.psy-price--pop .elementor-icon-list-icon svg,.psy-price--pop .elementor-icon-list-icon svg path{fill:#fff!important}
.psy-card .elementor-icon svg{width:30px!important;height:30px!important;fill:currentColor!important}.psy-card .elementor-icon svg path{fill:currentColor!important}
.psy-acc .elementor-accordion-icon svg{width:13px!important;height:13px!important;fill:currentColor!important}
.elementor-widget-button .elementor-button-icon svg{width:1em;height:1em;fill:currentColor}
.elementor-widget-button .elementor-button-content-wrapper{align-items:center;gap:2px}

/* ---- hero ---- */
.psy-hero>.elementor-container{align-items:center}
.psy-hero-copy>.elementor-widget-wrap{align-content:center}
.psy-hero-art>.elementor-widget-wrap{position:relative;display:flex;align-items:center;justify-content:center;padding:34px 0!important}
.elementor-widget.psy-arch{position:relative;z-index:2;width:min(100%,470px)!important;max-width:470px;margin:0 auto!important;aspect-ratio:640/780;border-radius:999px 999px 46px 46px;overflow:hidden;box-shadow:0 60px 100px -48px color-mix(in srgb,var(--xav-dark) 70%,transparent)}
.psy-arch .elementor-widget-container,.psy-arch img{display:block;width:100%;height:100%}
.psy-arch img{object-fit:cover;border-radius:0!important;box-shadow:none!important}

/* floating info cards: fixed size, never stretch */
.elementor-widget.psy-float{position:absolute!important;z-index:6;height:auto!important;min-height:0!important;width:max-content!important;max-width:min(270px,72vw)!important;margin:0!important}
.elementor-widget.psy-float-1{left:-3%!important;right:auto!important;top:auto!important;bottom:15%!important}
.elementor-widget.psy-float-2{right:-3%!important;left:auto!important;bottom:auto!important;top:9%!important}
.psy-float .elementor-icon-box-wrapper{display:flex!important;align-items:center;gap:14px;text-align:left}
.psy-float .elementor-icon-box-icon{margin:0!important;flex:none}
.psy-float .elementor-icon{display:grid!important;place-items:center;width:48px!important;height:48px!important;border-radius:15px!important;padding:0!important;font-size:19px!important;color:#fff!important}
.psy-float .elementor-icon svg{width:20px!important;height:20px!important;fill:#fff!important}.psy-float .elementor-icon svg path{fill:#fff!important}
.psy-float .elementor-icon-box-content{width:auto}
.psy-float .elementor-icon-box-title{margin:0 0 2px!important;line-height:1.05;white-space:nowrap}
.psy-float .elementor-icon-box-description{margin:0;font-size:13.5px;line-height:1.3;white-space:nowrap}
.psy-float-2 .elementor-icon:after{content:"";position:absolute;inset:-5px;border-radius:19px;border:2px solid #3fbf8a;opacity:0;animation:psy-ping 2.4s ease-out infinite}
.psy-float-2 .elementor-icon{position:relative}
@keyframes psy-ping{0%{opacity:.7;transform:scale(.85)}100%{opacity:0;transform:scale(1.3)}}

/* trust row (avatars + rating) */
.psy-hero-copy .elementor-inner-section{margin-top:34px!important}
.psy-hero-copy .elementor-inner-section>.elementor-container{flex-wrap:nowrap;align-items:center}
.psy-hero-copy .elementor-inner-section .elementor-column{width:auto!important;flex:0 0 auto}
.psy-hero-copy .elementor-inner-section .elementor-column:first-child>.elementor-widget-wrap{display:flex;flex-wrap:nowrap;align-items:center;padding:0}
.psy-hero-copy .elementor-inner-section .elementor-column:last-child>.elementor-widget-wrap{padding:0 0 0 18px}
.psy-hero-copy .elementor-widget-image{width:auto!important;margin-bottom:0!important}
.psy-hero-copy .elementor-widget-image img{display:block;width:48px;height:48px;border-radius:50%;object-fit:cover;box-shadow:0 8px 18px -8px rgba(0,0,0,.35);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.psy-hero-copy .elementor-widget-image:hover img{transform:translateY(-6px) scale(1.12)}
.psy-hero-copy .elementor-widget-image:hover{z-index:9!important}
.psy-hero-copy .elementor-star-rating__wrapper{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;text-align:left}
.psy-hero-copy .elementor-star-rating__title{order:1;margin:0!important;line-height:1.3}
.psy-hero-copy .elementor-star-rating{order:2;display:inline-flex;line-height:1}

/* ---- accreditation strip: centred, evenly spaced ---- */
.psy-strip{padding:26px 0;background:#fff}
.psy-strip>.elementor-container{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 0}
.psy-strip .elementor-column{width:auto!important;flex:0 0 auto;max-width:100%}
.psy-strip .elementor-column>.elementor-widget-wrap{padding:0 clamp(18px,2.6vw,38px)!important;align-items:center;justify-content:center}
.psy-strip .elementor-widget{margin:0!important;width:auto}
.psy-strip .elementor-column:nth-child(n+3)>.elementor-widget-wrap{border-left:1px solid color-mix(in srgb,var(--xav-dark) 14%,transparent)}
.psy-strip-label .elementor-icon-list-items{margin:0;padding:0}
.psy-strip-label .elementor-icon-list-item{align-items:center}
.psy-strip-label .elementor-icon-list-icon{width:34px!important;height:34px;border-radius:50%;background:color-mix(in srgb,var(--psy-accent) 16%,#fff);display:inline-flex!important;align-items:center;justify-content:center}
.psy-strip-label .elementor-icon-list-icon i,.psy-strip-label .elementor-icon-list-icon svg{width:15px!important;height:15px!important;font-size:15px!important;color:var(--psy-accent)!important;fill:var(--psy-accent)!important}
.psy-strip-label .elementor-icon-list-icon svg path{fill:var(--psy-accent)!important}
.psy-strip-label .elementor-icon-list-text{padding-left:12px!important;font:600 12.5px/1.3 var(--psy-body)!important;letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb,var(--xav-text) 85%,transparent)!important}
.psy-strip .elementor-heading-title{font:700 clamp(19px,1.7vw,23px)/1 var(--psy-serif);letter-spacing:.07em;color:color-mix(in srgb,var(--xav-dark) 72%,#fff);opacity:.82;cursor:default;text-align:center}
.psy-strip .elementor-column:hover .elementor-heading-title{color:var(--xav-primary);opacity:1;transform:translateY(-3px) scale(1.07)}

/* ---- about: clean image composition + badge ---- */
.psy-about>.elementor-container{align-items:center}
.psy-about-art>.elementor-widget-wrap{position:relative;display:block;padding:0 11% 13% 0!important}
.elementor-widget.psy-about-1{width:100%!important;margin:0!important;border-radius:280px 280px 34px 34px;overflow:hidden;box-shadow:0 40px 80px -44px color-mix(in srgb,var(--xav-dark) 60%,transparent)}
.psy-about-1 .elementor-widget-container,.psy-about-1 img{display:block;width:100%}
.psy-about-1 img{aspect-ratio:4/5;object-fit:cover;border-radius:0!important;box-shadow:none!important}
.elementor-widget.psy-about-2{position:absolute!important;right:0!important;bottom:0!important;left:auto!important;top:auto!important;width:46%!important;margin:0!important;z-index:3;border:8px solid #fff;border-radius:160px 160px 28px 28px;overflow:hidden;background:#fff;box-shadow:0 36px 60px -30px color-mix(in srgb,var(--xav-dark) 60%,transparent)}
.psy-about-2 .elementor-widget-container,.psy-about-2 img{display:block;width:100%}
.psy-about-2 img{aspect-ratio:4/5;object-fit:cover;border-radius:0!important;border:0!important;box-shadow:none!important}

.elementor-widget.psy-badge-exp{position:absolute!important;left:-5%!important;top:9%!important;right:auto!important;bottom:auto!important;width:auto!important;min-width:172px;margin:0!important;z-index:5;padding:22px 28px 20px!important;border-radius:26px!important;text-align:center;background:linear-gradient(145deg,var(--xav-dark),color-mix(in srgb,var(--xav-dark) 78%,var(--xav-primary)))!important;box-shadow:0 34px 54px -26px color-mix(in srgb,var(--xav-dark) 80%,transparent)!important;border:1px solid rgba(255,255,255,.14);animation:psy-bob 7s ease-in-out infinite}
.psy-badge-exp:before{content:"";position:absolute;right:-12px;top:-12px;width:34px;height:34px;border-radius:50%;background:var(--psy-accent);box-shadow:0 0 0 6px color-mix(in srgb,var(--psy-accent) 28%,transparent)}
.psy-badge-exp .elementor-counter{display:block;text-align:center}
.psy-badge-exp .elementor-counter-number-wrapper{justify-content:center;font:600 56px/1 var(--psy-serif);color:#f1c8ad}
.psy-badge-exp .elementor-counter-title{margin-top:8px;text-align:center;font:500 13.5px/1.35 var(--psy-body);letter-spacing:.04em;color:rgba(255,255,255,.85)}
.psy-about-copy>.elementor-widget-wrap{align-content:center}

/* ---- staggered entrance for check items ---- */
html.psy-js .psy-checks .elementor-icon-list-item{opacity:0;transform:translateX(-22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
html.psy-js .psy-checks.is-in .elementor-icon-list-item{opacity:1;transform:none}
html.psy-js .psy-checks.is-in .elementor-icon-list-item:nth-child(2){transition-delay:.12s}
html.psy-js .psy-checks.is-in .elementor-icon-list-item:nth-child(3){transition-delay:.24s}
html.psy-js .psy-checks.is-in .elementor-icon-list-item:nth-child(4){transition-delay:.36s}
html.psy-js .psy-checks.is-in .elementor-icon-list-item:hover{transition-delay:0s;transform:translateX(6px)}
html.psy-js .psy-checks.is-in .elementor-icon-list-icon{animation:psy-pop .7s cubic-bezier(.2,.9,.3,1.4) backwards}
html.psy-js .psy-checks.is-in .elementor-icon-list-item:nth-child(2) .elementor-icon-list-icon{animation-delay:.2s}
html.psy-js .psy-checks.is-in .elementor-icon-list-item:nth-child(3) .elementor-icon-list-icon{animation-delay:.32s}
html.psy-js .psy-checks.is-in .elementor-icon-list-item:nth-child(4) .elementor-icon-list-icon{animation-delay:.44s}
@keyframes psy-pop{from{transform:scale(0) rotate(-90deg)}}

/* ---- responsive ---- */
@media(max-width:1024px){
  .psy-hero-copy>.elementor-widget-wrap{padding-right:0}
  .psy-hero-art>.elementor-widget-wrap{padding:30px 0 10px!important}
  .elementor-widget.psy-arch{width:min(86%,420px)!important}
  .elementor-widget.psy-float-1{left:2%!important}.elementor-widget.psy-float-2{right:2%!important}
  .psy-about-art>.elementor-widget-wrap{max-width:560px;margin:0 auto}
  .elementor-widget.psy-badge-exp{left:-2%!important}
  .psy-about-copy>.elementor-widget-wrap{padding-top:34px!important}
}
@media(max-width:767px){
  .psy-hero-copy .elementor-widget-button{display:block;width:100%;margin:0 0 12px!important}
  .psy-hero-copy .elementor-widget-button .elementor-button{width:100%;justify-content:center}
  .psy-hero-copy .elementor-inner-section>.elementor-container{flex-wrap:wrap;gap:12px 0}
  .psy-hero-copy .elementor-inner-section .elementor-column:last-child>.elementor-widget-wrap{padding-left:0}
  .elementor-widget.psy-arch{width:min(82%,360px)!important}
  .elementor-widget.psy-float{max-width:210px!important}
  .psy-float .elementor-icon{width:40px!important;height:40px!important;border-radius:12px!important}
  .psy-float .elementor-icon-box-title{font-size:19px!important}.psy-float .elementor-icon-box-description{font-size:12px}
  .elementor-widget.psy-float-1{left:0!important;bottom:10%!important}.elementor-widget.psy-float-2{right:0!important;top:4%!important}
  .psy-strip>.elementor-container{gap:12px 0}
  .psy-strip .elementor-column:first-child{flex:0 0 100%;display:flex;justify-content:center}
  .psy-strip .elementor-column:nth-child(n+3)>.elementor-widget-wrap{border-left:0;padding:0 16px!important}
  .psy-about-art>.elementor-widget-wrap{padding:0 9% 13% 0!important}
  .elementor-widget.psy-about-1{border-radius:200px 200px 26px 26px}
  .elementor-widget.psy-about-2{border-width:6px;border-radius:110px 110px 22px 22px;width:48%!important}
  .elementor-widget.psy-badge-exp{left:0!important;top:5%!important;min-width:140px;padding:16px 20px 14px!important}
  .psy-badge-exp .elementor-counter-number-wrapper{font-size:42px}.psy-badge-exp .elementor-counter-title{font-size:12px}
}

/* =====================================================================
   SECTION PACK v2 - Services / Approach / How it works / Team
   Premium rebuild: alternating dark & light backgrounds, FontAwesome icon chips,
   image boxes, glass cards, hover + scroll animation, fully responsive.
   Everything is driven by the theme colour variables (--xav-primary / --xav-dark)
   and the Elementor accent, so it follows whatever palette you pick in the wizard.
   Rule used everywhere: text on a coloured fill is ALWAYS white (never black on red).
   ===================================================================== */
:root{--psy-peach:#f1c8ad;--psy-ease:cubic-bezier(.2,.7,.2,1);--psy-fa:"Font Awesome 6 Free","Font Awesome 5 Free","FontAwesome";--psy-grad:linear-gradient(135deg,var(--xav-primary),color-mix(in srgb,var(--xav-primary) 52%,var(--psy-accent)))}

/* ---------- 0. accordion +/- : centred, always readable (fixes black icon on red) ---------- */
.psy-acc .elementor-accordion-icon{position:relative;display:grid!important;place-items:center;float:none!important;flex:none;order:2;width:40px!important;height:40px;border-radius:50%;font-size:0!important;line-height:0;background:color-mix(in srgb,var(--xav-primary) 10%,#fff);color:var(--xav-primary)!important;transition:background .35s,color .35s,box-shadow .35s,transform .35s var(--psy-ease)}
.psy-acc .elementor-accordion-icon>*{display:none!important}
.psy-acc .elementor-accordion-icon:before{content:"\f067";display:block;font-family:var(--psy-fa);font-weight:900;font-size:13px;line-height:1;color:inherit;transition:transform .45s var(--psy-ease)}
.psy-acc .elementor-active .elementor-accordion-icon,.psy-acc .elementor-tab-title.elementor-active .elementor-accordion-icon{background:var(--psy-grad);color:#fff!important;box-shadow:0 12px 22px -10px var(--xav-primary)}
.psy-acc .elementor-active .elementor-accordion-icon:before{content:"\f068"}
.psy-acc .elementor-tab-title:hover .elementor-accordion-icon{background:var(--xav-primary);color:#fff!important;transform:scale(1.1)}
.psy-acc .elementor-tab-title:hover .elementor-accordion-icon:before{transform:rotate(90deg)}
.psy-acc .elementor-tab-title{align-items:center}

/* legacy process: remove the dashed line that ran through the cards, tighten title/desc gap */
.psy-process.psy-grid .elementor-container:before{display:none!important}
.psy-step .elementor-widget:not(:last-child){margin-bottom:12px}

/* shared "text link with arrow circle" button (services + team) */
.elementor-widget.psy-more{width:auto}
.psy-more .elementor-button{position:static;display:inline-flex;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font:700 13.5px/1 var(--psy-body);letter-spacing:.12em;text-transform:uppercase;color:var(--xav-primary)!important;transform:none!important}
.psy-more .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:12px}
.psy-more .elementor-button-icon{order:5;margin:0!important;display:grid!important;place-items:center;width:36px;height:36px;border-radius:50%;font-size:12px;background:color-mix(in srgb,var(--xav-primary) 10%,#fff);color:var(--xav-primary);transition:background .35s,color .35s,transform .45s var(--psy-ease)}
.psy-more .elementor-button-icon i{color:inherit;line-height:1}.psy-more .elementor-button-icon svg{width:12px;height:12px;fill:currentColor}
.psy-more .elementor-button:hover .elementor-button-icon{background:var(--xav-primary);color:#fff;transform:translateX(5px)}
.psy-more .elementor-button:hover{color:var(--xav-dark)!important}

/* =====================================================================
   1. SERVICES  (dark)
   ===================================================================== */
.psy-services--u{position:relative;overflow:hidden;isolation:isolate;
  background:radial-gradient(900px 540px at 94% -8%,color-mix(in srgb,var(--xav-primary) 44%,transparent),transparent 62%),
             radial-gradient(780px 540px at -6% 106%,color-mix(in srgb,var(--psy-accent) 30%,transparent),transparent 62%),
             linear-gradient(180deg,var(--xav-dark),color-mix(in srgb,var(--xav-dark) 86%,#000))}
.psy-services--u:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.1) 1.2px,transparent 1.7px);background-size:30px 30px;-webkit-mask-image:radial-gradient(75% 65% at 50% 38%,#000,transparent);mask-image:radial-gradient(75% 65% at 50% 38%,#000,transparent)}
.psy-services--u:after{content:"";position:absolute;z-index:-1;left:-140px;top:34%;width:340px;height:340px;border-radius:50%;border:1px solid rgba(241,200,173,.18);box-shadow:0 0 0 46px rgba(241,200,173,.035),0 0 0 100px rgba(241,200,173,.02);animation:psy-drift 16s ease-in-out infinite alternate;pointer-events:none}
@keyframes psy-drift{to{transform:translate(46px,-34px) scale(1.08)}}
.psy-services--u>.elementor-container{position:relative;z-index:1}
.psy-services--u .psy-center .psy-sub{max-width:620px}

.psy-svc-row{margin-top:clamp(6px,1vw,12px)}
.psy-svc-row>.elementor-container{align-items:stretch}
.psy-svc-row .elementor-column{display:flex}
.elementor-section.psy-services--u .elementor-column.psy-card>.elementor-widget-wrap{position:relative;width:100%;margin:12px;padding:40px 34px 34px;text-align:left;display:grid;grid-template-columns:100%;grid-template-rows:1fr auto;align-content:stretch;justify-content:flex-start;border-radius:30px;border:1px solid rgba(255,255,255,.13);
  background:linear-gradient(155deg,rgba(255,255,255,.11),rgba(255,255,255,.035));box-shadow:0 34px 64px -38px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .5s var(--psy-ease),box-shadow .5s,border-color .4s,background .4s}
.elementor-section.psy-services--u .elementor-column.psy-card>.elementor-widget-wrap:hover{border-color:rgba(241,200,173,.5);background:linear-gradient(155deg,rgba(255,255,255,.16),rgba(255,255,255,.06));box-shadow:0 46px 80px -40px color-mix(in srgb,var(--xav-primary) 70%,transparent),inset 0 1px 0 rgba(255,255,255,.2)}
.psy-services--u .psy-card>.elementor-widget-wrap:before{height:3px;background:linear-gradient(90deg,var(--xav-primary),var(--psy-peach))}
.psy-services--u .psy-tilt:after{background:radial-gradient(380px circle at var(--mx) var(--my),rgba(241,200,173,.16),transparent 60%)}
.psy-services--u .psy-card .elementor-widget{margin-bottom:0}

.elementor-widget.psy-no{position:absolute!important;right:26px;top:18px;width:auto!important;margin:0!important;z-index:1;pointer-events:none}
.psy-no .elementor-heading-title{font:600 60px/1 var(--psy-serif);color:transparent;-webkit-text-stroke:1px rgba(241,200,173,.32);transition:-webkit-text-stroke-color .4s,transform .6s var(--psy-ease)}
.psy-card:hover .psy-no .elementor-heading-title{-webkit-text-stroke-color:rgba(241,200,173,.85);transform:translateY(-4px)}

.psy-services--u .psy-card .elementor-icon-box-wrapper{display:block;text-align:left}
.psy-services--u .psy-card .elementor-icon-box-icon{display:block;margin:0 0 30px!important}
.psy-services--u .psy-card .elementor-icon{position:relative;display:grid!important;place-items:center;width:70px;height:70px;border-radius:23px;font-size:27px!important;color:#fff!important;background:var(--psy-grad)!important;box-shadow:0 20px 36px -14px var(--xav-primary),inset 0 1px 0 rgba(255,255,255,.4);transition:background .4s,color .4s,transform .5s var(--psy-ease),box-shadow .4s}
.psy-services--u .psy-card .elementor-icon i{color:inherit;line-height:1}.psy-services--u .psy-card .elementor-icon svg,.psy-services--u .psy-card .elementor-icon svg path{fill:currentColor!important}
.psy-services--u .psy-card .elementor-icon:after{content:"";position:absolute;inset:-8px;border-radius:29px;border:1.5px dashed rgba(241,200,173,.55);opacity:0;transform:scale(.82);transition:opacity .4s,transform .5s var(--psy-ease)}
.psy-services--u .psy-card:hover .elementor-icon{background:#fff!important;color:var(--xav-primary)!important;box-shadow:0 22px 40px -16px rgba(0,0,0,.55);animation:psy-wiggle .7s}
.psy-services--u .psy-card:hover .elementor-icon:after{opacity:1;transform:none;animation:psy-spin 16s linear infinite}
@keyframes psy-spin{to{transform:rotate(360deg)}}
.psy-services--u .psy-card .elementor-icon-box-title{margin:0 0 14px;font:600 30px/1.1 var(--psy-serif);color:#fff;transform:none}
.psy-services--u .psy-card .elementor-icon-box-title a,.psy-services--u .psy-card .elementor-icon-box-title a:hover{color:inherit}
.psy-services--u .psy-card:hover .elementor-icon-box-title{color:var(--psy-peach);transform:translateX(4px)}
.psy-services--u .psy-card .elementor-icon-box-description{font-size:16.5px;line-height:1.72;color:rgba(255,255,255,.74)}
.psy-services--u .psy-card .elementor-icon-box-content{width:100%}
.psy-services--u .psy-card .elementor-widget-button{margin-top:26px;justify-self:start}
.psy-services--u .psy-more .elementor-button{color:var(--psy-peach)!important}
.psy-services--u .psy-more .elementor-button-icon{background:rgba(255,255,255,.1);color:#fff}
.psy-services--u .psy-more .elementor-button:hover{color:#fff!important}
.psy-services--u .psy-more .elementor-button:hover .elementor-button-icon{background:var(--xav-primary);color:#fff}
.psy-services--u .psy-card .psy-more .elementor-button:after{content:"";position:absolute;inset:0;z-index:4}

/* CTA banner with image box */
.psy-svc-banner{margin:clamp(22px,3vw,40px) 12px 0;text-align:left}
.psy-svc-banner>.elementor-container{position:relative;overflow:hidden;align-items:stretch;border-radius:34px;background:linear-gradient(120deg,color-mix(in srgb,var(--xav-primary) 78%,#000),var(--xav-primary) 58%,color-mix(in srgb,var(--xav-primary) 62%,var(--psy-accent)));box-shadow:0 50px 90px -46px color-mix(in srgb,var(--xav-primary) 80%,#000),inset 0 0 0 1px rgba(255,255,255,.14)}
.psy-svc-banner>.elementor-container:after{content:"";position:absolute;right:-90px;top:-110px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.09);pointer-events:none}
.psy-svc-banner-art>.elementor-widget-wrap{display:block;height:100%;padding:0!important}
.elementor-widget.psy-banner-img{height:100%;margin:0!important;border-radius:0 160px 160px 0;overflow:hidden;position:relative}
.psy-banner-img .elementor-widget-container{height:100%}
.psy-banner-img img{display:block;width:100%;height:100%;min-height:300px;object-fit:cover;transform:scale(1.04);transition:transform 1.2s var(--psy-ease)}
.psy-svc-banner:hover .psy-banner-img img{transform:scale(1.12)}
.psy-svc-banner-copy>.elementor-widget-wrap{position:relative;z-index:1;align-content:center;justify-content:flex-start;padding:clamp(30px,4vw,58px) clamp(26px,4vw,60px)!important}
.psy-banner-h .elementor-heading-title{margin:0 0 12px;font:600 clamp(30px,3.2vw,46px)/1.08 var(--psy-serif);color:#fff;text-align:left}
.elementor-widget.psy-banner-p{margin-bottom:26px!important;max-width:520px;font-size:17.5px;line-height:1.7;color:rgba(255,255,255,.9);text-align:left}
.psy-btn-solid .elementor-button,.psy-btn-line .elementor-button{padding:17px 30px;border-radius:99px;font:700 15px/1 var(--psy-body);transition:transform .35s var(--psy-ease),background .35s,color .35s,box-shadow .35s}
.psy-btn-solid .elementor-button{background:#fff!important;color:var(--xav-dark)!important;box-shadow:0 22px 38px -18px rgba(0,0,0,.55)}
.psy-btn-solid .elementor-button .elementor-button-icon{color:var(--xav-primary)}
.psy-btn-solid .elementor-button:hover{background:var(--xav-dark)!important;color:#fff!important}.psy-btn-solid .elementor-button:hover .elementor-button-icon{color:#fff}
.psy-btn-line .elementor-button{background:transparent!important;color:#fff!important;box-shadow:inset 0 0 0 1.6px rgba(255,255,255,.6)}
.psy-btn-line .elementor-button:hover{background:#fff!important;color:var(--xav-dark)!important}

/* =====================================================================
   2. APPROACH  (light, image box)
   ===================================================================== */
.psy-approach--img{position:relative;overflow:hidden;background:radial-gradient(640px 420px at 0% 0%,color-mix(in srgb,var(--psy-accent) 16%,transparent),transparent 65%),radial-gradient(700px 480px at 100% 100%,color-mix(in srgb,var(--xav-primary) 8%,transparent),transparent 65%),var(--psy-cream)}
.psy-approach--img>.elementor-container{align-items:center}
.psy-approach--img .psy-approach-art>.elementor-widget-wrap{position:relative;display:block;padding:18px 7% 0 18px!important}
.psy-approach--img .psy-approach-art>.elementor-widget-wrap:before{content:"";position:absolute;left:0;top:0;width:64%;height:62%;border:2px solid color-mix(in srgb,var(--psy-accent) 60%,transparent);border-radius:46px 150px 46px 46px;pointer-events:none}
.psy-approach--img .psy-approach-art>.elementor-widget-wrap:after{content:"";position:absolute;right:2%;top:34%;width:130px;height:130px;background-image:radial-gradient(var(--psy-accent) 2.2px,transparent 2.7px);background-size:18px 18px;opacity:.55;pointer-events:none}
.elementor-widget.psy-imgbox{position:relative;z-index:2;width:100%!important;margin:0 0 22px!important;overflow:hidden;border-radius:42px 150px 42px 42px;box-shadow:0 50px 90px -46px color-mix(in srgb,var(--xav-dark) 70%,transparent),0 0 0 8px #fff}
.psy-imgbox .elementor-widget-container{display:block}
.psy-imgbox img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:0!important;box-shadow:none!important}
.psy-imgbox:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 60%,color-mix(in srgb,var(--xav-dark) 28%,transparent))}

.elementor-widget.psy-float-3{left:-3%!important;right:auto!important;bottom:auto!important;top:46%!important;animation:psy-bob 7s ease-in-out -1s infinite}
.psy-float-3 .elementor-icon{background:var(--psy-grad)!important;box-shadow:0 14px 26px -12px var(--xav-primary)}
.psy-float-3 .elementor-icon-box-wrapper{padding:14px 22px 14px 14px;border-radius:22px;background:#fff;box-shadow:0 30px 56px -24px color-mix(in srgb,var(--xav-dark) 55%,transparent)}
.psy-float-3 .elementor-icon-box-title{font:600 21px/1.05 var(--psy-serif);color:var(--xav-dark)}
.psy-float-3 .elementor-icon-box-description{color:#6a5a60}
.psy-float-3 .elementor-icon:after{content:"";position:absolute;inset:-5px;border-radius:19px;border:2px solid var(--xav-primary);opacity:0;animation:psy-ping 2.6s ease-out infinite}
.psy-float-3 .elementor-icon{position:relative}

.psy-mini-stats{position:relative;z-index:2}
.psy-mini-stats>.elementor-container{gap:16px;flex-wrap:nowrap}
.psy-mini-stat{flex:1 1 0;min-width:0}
.psy-mini-stat>.elementor-widget-wrap{padding:0!important}
.psy-mini-stat .elementor-widget{margin:0!important}
.psy-mini-stat .elementor-icon-box-wrapper{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:24px;background:#fff;box-shadow:0 24px 46px -32px color-mix(in srgb,var(--xav-dark) 55%,transparent),0 0 0 1px color-mix(in srgb,var(--xav-dark) 6%,transparent);transition:transform .45s var(--psy-ease),box-shadow .45s}
.psy-mini-stat:hover .elementor-icon-box-wrapper{transform:translateY(-6px);box-shadow:0 36px 56px -30px color-mix(in srgb,var(--xav-primary) 55%,transparent),0 0 0 1px color-mix(in srgb,var(--xav-primary) 22%,transparent)}
.psy-mini-stat .elementor-icon-box-icon{margin:0!important;flex:none}
.psy-mini-stat .elementor-icon{display:grid!important;place-items:center;width:50px!important;height:50px!important;border-radius:16px;font-size:19px!important;color:#fff!important;background:var(--psy-grad)!important;padding:0!important;box-shadow:0 14px 26px -12px var(--xav-primary)}
.psy-mini-stat .elementor-icon i{color:inherit;line-height:1}.psy-mini-stat .elementor-icon svg,.psy-mini-stat .elementor-icon svg path{width:20px;height:20px;fill:#fff!important}
.psy-mini-stat .elementor-icon-box-title{margin:0;font:600 28px/1 var(--psy-serif);color:var(--xav-dark)}
.psy-mini-stat .elementor-icon-box-description{margin:4px 0 0;font-size:13.5px;line-height:1.2;color:#6a5a60}
.psy-mini-stat:hover .elementor-icon{animation:psy-wiggle .7s}

.psy-approach--img .psy-approach-copy>.elementor-widget-wrap{padding-left:clamp(0px,3.4vw,52px)!important}
/* numbered accordion */
.psy-acc--num .elementor-accordion{counter-reset:acc}
.psy-acc--num .elementor-accordion-item{counter-increment:acc;position:relative}
.psy-acc--num .elementor-accordion-item:before{content:"";position:absolute;left:0;top:20px;bottom:20px;width:4px;border-radius:0 4px 4px 0;background:linear-gradient(var(--xav-primary),var(--psy-accent));transform:scaleY(0);transition:transform .45s var(--psy-ease)}
.psy-acc--num .elementor-accordion-item:has(.elementor-tab-title.elementor-active):before{transform:scaleY(1)}
.psy-acc--num .elementor-tab-title a{display:flex!important;align-items:center;gap:16px}
.psy-acc--num .elementor-tab-title a:before{content:counter(acc,decimal-leading-zero);flex:none;padding:8px 10px;border-radius:99px;font:700 12px/1 var(--psy-body);letter-spacing:.08em;color:var(--xav-primary);background:color-mix(in srgb,var(--xav-primary) 9%,#fff);transition:background .35s,color .35s}
.psy-acc--num .elementor-tab-title.elementor-active a:before{background:var(--xav-primary);color:#fff}
.psy-acc--num .elementor-tab-title.elementor-active a{color:var(--xav-primary)!important}
.psy-acc--num .elementor-tab-content{padding:0 30px 28px 82px!important}

/* =====================================================================
   3. HOW IT WORKS  (dark, icon steps)
   ===================================================================== */
.psy-process--u{position:relative;overflow:hidden;isolation:isolate;
  background:radial-gradient(760px 440px at 10% -4%,color-mix(in srgb,var(--psy-accent) 28%,transparent),transparent 64%),
             radial-gradient(900px 580px at 104% 104%,color-mix(in srgb,var(--xav-primary) 48%,transparent),transparent 60%),
             linear-gradient(160deg,color-mix(in srgb,var(--xav-primary) 30%,var(--xav-dark)),var(--xav-dark) 64%)}
.psy-process--u:before{content:"";position:absolute;z-index:-1;right:-180px;top:-200px;width:620px;height:620px;border-radius:50%;border:1px solid rgba(255,255,255,.1);box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 150px rgba(255,255,255,.018);pointer-events:none;animation:psy-drift 18s ease-in-out infinite alternate}
.psy-process--u:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(70% 60% at 50% 55%,#000,transparent);mask-image:radial-gradient(70% 60% at 50% 55%,#000,transparent)}
.psy-process--u>.elementor-container{position:relative;z-index:1}
.psy-steps-row{margin-top:clamp(18px,3vw,40px)}
.psy-steps-row>.elementor-container{align-items:stretch}
.psy-steps-row .elementor-column{display:flex}
.elementor-section.psy-process--u .elementor-column.psy-step>.elementor-widget-wrap{position:relative;overflow:visible;width:100%;margin:12px;padding:34px 30px 32px;text-align:left;align-content:flex-start;justify-content:space-between;align-items:center;border-radius:30px;border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03));box-shadow:0 34px 64px -40px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .5s var(--psy-ease),border-color .4s,background .4s,box-shadow .5s}
.elementor-section.psy-process--u .elementor-column.psy-step>.elementor-widget-wrap:hover{border-color:rgba(241,200,173,.55);background:linear-gradient(160deg,rgba(255,255,255,.15),rgba(255,255,255,.05));box-shadow:0 44px 76px -40px color-mix(in srgb,var(--xav-primary) 65%,transparent),inset 0 1px 0 rgba(255,255,255,.2)}
.psy-process--u .psy-tilt:after{background:radial-gradient(340px circle at var(--mx) var(--my),rgba(241,200,173,.15),transparent 60%)}
.psy-process--u .psy-step .elementor-widget{margin-bottom:0}
.elementor-widget.psy-step-ic{width:auto!important;margin:0!important}
.psy-step-ic .elementor-icon-wrapper{display:block}
.psy-step-ic .elementor-icon{position:relative;display:grid!important;place-items:center;width:66px;height:66px;border-radius:50%;font-size:24px!important;color:#fff!important;background:var(--psy-grad);box-shadow:0 0 0 8px rgba(255,255,255,.07),0 20px 34px -14px var(--xav-primary);transition:transform .5s var(--psy-ease),box-shadow .4s,background .4s,color .4s}
.psy-step-ic .elementor-icon i{color:inherit;line-height:1}.psy-step-ic .elementor-icon svg,.psy-step-ic .elementor-icon svg path{width:24px;height:24px;fill:#fff!important}
.psy-step-ic .elementor-icon:after{content:"";position:absolute;inset:-9px;border-radius:50%;border:1.5px solid rgba(241,200,173,.6);opacity:0;transform:scale(.8)}
.psy-step:hover .psy-step-ic .elementor-icon{background:#fff;color:var(--xav-primary)!important;transform:scale(1.08) rotate(-6deg);box-shadow:0 0 0 8px rgba(255,255,255,.1),0 24px 40px -14px rgba(0,0,0,.5)}
.psy-step:hover .psy-step-ic .elementor-icon svg,.psy-step:hover .psy-step-ic .elementor-icon svg path{fill:var(--xav-primary)!important}
.psy-step:hover .psy-step-ic .elementor-icon:after{animation:psy-ping 1.8s ease-out infinite}
.elementor-widget.psy-step-no{width:auto!important;margin:0!important}
.psy-step-no .elementor-heading-title{font:600 58px/1 var(--psy-serif);color:transparent;-webkit-text-stroke:1px rgba(241,200,173,.5);transition:-webkit-text-stroke-color .4s,transform .6s var(--psy-ease)}
.psy-step:hover .psy-step-no .elementor-heading-title{-webkit-text-stroke-color:var(--psy-peach);transform:translateX(-4px)}
.elementor-widget.psy-step-t{width:100%!important;margin:28px 0 10px!important}
.psy-step-t .elementor-heading-title{margin:0;font:600 29px/1.1 var(--psy-serif);color:#fff;transition:color .3s}
.psy-step:hover .psy-step-t .elementor-heading-title{color:var(--psy-peach)}
.elementor-widget.psy-step-d{width:100%!important;margin:0!important;font-size:16px;line-height:1.7;color:rgba(255,255,255,.76)}
.psy-step-d p{margin:0}
@media(min-width:1025px){
  .psy-process--u .psy-step:not(:last-child)>.elementor-widget-wrap:before{content:"\f054";position:absolute;z-index:3;right:-27px;top:52px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-family:var(--psy-fa);font-weight:900;font-size:10px;color:#fff;background:var(--psy-grad);box-shadow:0 0 0 5px rgba(255,255,255,.07),0 10px 18px -8px var(--xav-primary);animation:psy-nudge 2.4s ease-in-out infinite}
}
@keyframes psy-nudge{50%{transform:translateX(4px)}}

/* =====================================================================
   4. TEAM  (light, image cards)
   ===================================================================== */
.psy-team-sec--u{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(720px 440px at 100% 0%,color-mix(in srgb,var(--xav-primary) 9%,transparent),transparent 65%),radial-gradient(660px 440px at 0% 100%,color-mix(in srgb,var(--psy-accent) 15%,transparent),transparent 65%),#fff}
.psy-team-sec--u:before{content:"";position:absolute;z-index:-1;left:50%;top:-380px;width:700px;height:700px;margin-left:-350px;border-radius:50%;border:1px dashed color-mix(in srgb,var(--psy-accent) 22%,transparent);pointer-events:none;animation:psy-spin 60s linear infinite}
.psy-team-sec--u>.elementor-container{position:relative;z-index:1}
.psy-team-row{margin-top:clamp(18px,3vw,40px)}
.psy-team-row>.elementor-container{align-items:stretch}
.psy-team-row .elementor-column{display:flex}
.elementor-section.psy-team-sec--u .elementor-column.psy-team>.elementor-widget-wrap{position:relative;width:100%;margin:12px;padding:14px 14px 26px;text-align:left;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto 1fr auto;align-content:stretch;justify-content:stretch;align-items:center;border-radius:30px;background:#fff;box-shadow:0 34px 64px -42px color-mix(in srgb,var(--xav-dark) 55%,transparent),0 0 0 1px color-mix(in srgb,var(--xav-dark) 7%,transparent);transition:transform .5s var(--psy-ease),box-shadow .5s}
.elementor-section.psy-team-sec--u .elementor-column.psy-team>.elementor-widget-wrap:hover{box-shadow:0 50px 80px -42px color-mix(in srgb,var(--xav-primary) 55%,transparent),0 0 0 1.5px color-mix(in srgb,var(--xav-primary) 30%,transparent)}
.psy-team-sec--u .psy-team .elementor-widget{margin-bottom:0}
.psy-team-sec--u .psy-team .psy-team-img{position:relative;width:100%;margin-bottom:22px;border-radius:24px 24px 120px 24px}
.psy-team-sec--u .psy-team .psy-team-img,.psy-team-sec--u .psy-team-n,.psy-team-sec--u .psy-team-r,.psy-team-sec--u .psy-team-d{grid-column:1/-1}
.psy-team-sec--u .psy-team-d{align-self:start}
.psy-team-sec--u .psy-team-img:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .5s;background:linear-gradient(180deg,transparent 45%,color-mix(in srgb,var(--xav-dark) 55%,transparent))}
.psy-team-sec--u .psy-team:hover .psy-team-img:after{opacity:1}
.psy-team-sec--u .psy-team-n,.psy-team-sec--u .psy-team-r,.psy-team-sec--u .psy-team-d{width:100%;padding:0 12px}
.psy-team-sec--u .psy-team-n .elementor-heading-title{margin:0 0 10px;font:600 28px/1.1 var(--psy-serif);color:var(--xav-dark)}
.psy-team-sec--u .psy-team:hover .psy-team-n .elementor-heading-title{color:var(--xav-primary);letter-spacing:.01em}
.psy-team-sec--u .psy-team .psy-team-r{margin-bottom:14px}
.psy-team-sec--u .psy-team-r p{display:inline-block;margin:0;padding:7px 12px;border-radius:12px;font:700 11.5px/1.3 var(--psy-body);letter-spacing:.09em;text-transform:uppercase;color:color-mix(in srgb,var(--psy-accent) 66%,var(--xav-dark));background:color-mix(in srgb,var(--psy-accent) 15%,#fff)}
.psy-team-sec--u .psy-team-d{font-size:15.5px;line-height:1.7;color:var(--xav-text)}
.psy-team-sec--u .psy-team-d:after{content:"";display:block;height:1px;margin-top:20px;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--xav-dark) 20%,transparent) 0 6px,transparent 6px 12px)}
.elementor-widget.psy-soc{width:auto!important;grid-column:1;margin:18px 0 0 12px!important}
.psy-soc .elementor-social-icons-wrapper{display:flex;flex-wrap:nowrap;gap:8px;margin:0}
.psy-soc .elementor-grid-item{margin:0!important;display:block}
.psy-soc .elementor-social-icon{display:inline-flex!important;align-items:center;justify-content:center;width:38px!important;height:38px!important;padding:0!important;border-radius:12px!important;font-size:14px!important;line-height:1;background:color-mix(in srgb,var(--xav-primary) 9%,#fff)!important;color:var(--xav-primary)!important;transition:background .35s,color .35s,transform .45s var(--psy-ease),box-shadow .35s}
.psy-soc .elementor-social-icon i{color:inherit!important;font-size:14px;line-height:1}.psy-soc .elementor-social-icon svg,.psy-soc .elementor-social-icon svg path{width:14px;height:14px;fill:currentColor!important}
.psy-soc .elementor-social-icon:hover{background:var(--xav-primary)!important;color:#fff!important;transform:translateY(-4px);box-shadow:0 14px 24px -10px var(--xav-primary)}
.elementor-widget.psy-more--sm{width:auto!important;grid-column:2;margin:18px 12px 0 0!important}
.psy-more--sm .elementor-button{font-size:12px}.psy-more--sm .elementor-button-icon{width:34px;height:34px}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media(max-width:1024px){
  .psy-svc-banner-art>.elementor-widget-wrap{height:auto}
  .elementor-widget.psy-banner-img{border-radius:0 0 110px 110px}
  .psy-banner-img img{min-height:0;height:260px}
  .psy-approach--img .psy-approach-art>.elementor-widget-wrap{max-width:620px;margin:0 auto;padding:18px 4% 0 18px!important}
  .psy-approach--img .psy-approach-copy>.elementor-widget-wrap{padding-left:0!important;padding-top:44px!important}
  .psy-svc-row .elementor-column,.psy-steps-row .elementor-column,.psy-team-row .elementor-column{display:flex}
}
@media(max-width:767px){
  .psy-sec>.elementor-container{padding-left:14px;padding-right:14px}
  .elementor-section.psy-services--u .elementor-column.psy-card>.elementor-widget-wrap{margin:8px 0;padding:32px 26px 28px}
  .psy-no .elementor-heading-title{font-size:46px}.elementor-widget.psy-no{right:20px;top:14px}
  .psy-services--u .psy-card .elementor-icon{width:62px;height:62px;font-size:24px!important}
  .psy-services--u .psy-card .elementor-icon-box-title{font-size:27px}
  .psy-svc-banner{margin-left:0;margin-right:0}
  .psy-svc-banner>.elementor-container{border-radius:28px}
  .elementor-widget.psy-banner-img{border-radius:0 0 80px 80px}.psy-banner-img img{height:210px}
  .psy-svc-banner-copy>.elementor-widget-wrap{padding:30px 24px 26px!important}
  .psy-svc-banner-copy .elementor-widget-button{display:block;width:100%!important;margin:0 0 12px!important}
  .psy-svc-banner-copy .elementor-widget-button .elementor-button{width:100%;justify-content:center}
  .elementor-widget.psy-imgbox{border-radius:30px 96px 30px 30px;box-shadow:0 36px 60px -34px color-mix(in srgb,var(--xav-dark) 65%,transparent),0 0 0 6px #fff}
  .psy-approach--img .psy-approach-art>.elementor-widget-wrap{padding:14px 2% 0 14px!important}
  .psy-approach--img .psy-approach-art>.elementor-widget-wrap:before{border-radius:32px 100px 32px 32px}
  .elementor-widget.psy-float-3{left:0!important;top:38%!important}
  .psy-float-3 .elementor-icon-box-wrapper{padding:10px 16px 10px 10px;gap:10px}.psy-float-3 .elementor-icon{width:40px!important;height:40px!important;font-size:16px!important}.psy-float-3 .elementor-icon-box-title{font-size:18px}.psy-float-3 .elementor-icon-box-description{font-size:12px}
  .psy-mini-stats>.elementor-container{gap:10px}
  .psy-mini-stat .elementor-icon-box-wrapper{flex-direction:column;align-items:flex-start;gap:10px;padding:14px}
  .psy-mini-stat .elementor-icon{width:42px!important;height:42px!important;font-size:16px!important;border-radius:13px}.psy-mini-stat .elementor-icon-box-title{font-size:25px}
  .psy-acc--num .elementor-tab-title{padding:18px 18px!important;font-size:19px}
  .psy-acc--num .elementor-tab-title a{gap:12px}.psy-acc--num .elementor-tab-title a:before{padding:7px 9px;font-size:11px}
  .psy-acc .elementor-accordion-icon{width:36px!important;height:36px}
  .psy-acc--num .elementor-tab-content{padding:0 22px 24px!important}
  .elementor-section.psy-process--u .elementor-column.psy-step>.elementor-widget-wrap{margin:8px 0;padding:28px 24px}
  .psy-step-ic .elementor-icon{width:58px;height:58px;font-size:21px!important}.psy-step-no .elementor-heading-title{font-size:50px}
  .elementor-section.psy-team-sec--u .elementor-column.psy-team>.elementor-widget-wrap{margin:8px 0}
  .psy-team-sec--u:before{width:520px;height:520px;margin-left:-260px}
}

/* =====================================================================
   Motion extras (reduced-motion is already handled globally above)
   ===================================================================== */
html.psy-js .psy-mini-stat.psy-rv,html.psy-js .psy-svc-banner.psy-rv{transition-duration:1s}
@media(hover:none){.psy-services--u .psy-card:hover .elementor-icon{animation:none}}

/* =====================================================================
   v13 PREMIUM POLISH — stats / testimonials / faq / blog / cta / icons
   (all colours come from theme variables, so palette changes follow)
   ===================================================================== */

/* ---- icons: force FontAwesome face so no tofu boxes ---- */
.elementor-icon i,.elementor-icon-list-icon i,.elementor-button-icon i,.fas,.fa-solid,[class^="fa-solid "],[class*=" fa-solid "]{font-family:"Font Awesome 6 Free","Font Awesome 5 Free","FontAwesome"!important;font-weight:900!important;font-style:normal;-webkit-font-smoothing:antialiased;display:inline-block;line-height:1;text-rendering:auto}
.far,.fa-regular{font-family:"Font Awesome 6 Free","Font Awesome 5 Free"!important;font-weight:400!important}
.fab,.fa-brands{font-family:"Font Awesome 6 Brands","Font Awesome 5 Brands"!important;font-weight:400!important}
.psy-step-ic .elementor-icon i{font-size:24px;color:#fff!important}
.psy-step:hover .psy-step-ic .elementor-icon i{color:var(--xav-primary)!important}

/* ---- 1. STATS : dark premium band with icons ---- */
.psy-stats{background:radial-gradient(600px 300px at 90% 0,color-mix(in srgb,var(--psy-accent) 35%,transparent),transparent 70%),linear-gradient(115deg,var(--xav-primary),color-mix(in srgb,var(--xav-primary) 45%,var(--xav-dark)) 55%,var(--xav-dark))!important;padding:clamp(60px,7vw,100px) 0!important}
.psy-stats .elementor-container{position:relative;z-index:2}
.psy-stat>.elementor-widget-wrap{align-content:flex-start;padding:30px 18px!important;border-radius:26px;border:1px solid transparent!important;transition:background .45s,border-color .45s,transform .45s var(--psy-ease),box-shadow .45s}
.psy-stat+.psy-stat>.elementor-widget-wrap{border-left:1px solid transparent!important}
.psy-stat:hover>.elementor-widget-wrap{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18)!important;transform:translateY(-8px);box-shadow:0 30px 50px -30px rgba(0,0,0,.55)}
.psy-stat-ic{margin-bottom:14px!important}
.psy-stat-ic .elementor-icon{display:grid!important;place-items:center;width:62px;height:62px;border-radius:20px;font-size:23px!important;color:#fff!important;background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 16px 28px -16px rgba(0,0,0,.5);transition:transform .5s var(--psy-ease),background .4s,color .4s}
.psy-stat-ic .elementor-icon i{color:inherit!important;font-size:23px}
.psy-stat:hover .psy-stat-ic .elementor-icon{background:#fff;color:var(--xav-primary)!important;transform:rotate(-8deg) scale(1.1)}
.psy-stat:hover .psy-stat-ic .elementor-icon i{color:var(--xav-primary)!important}
.psy-stats .elementor-counter-number-wrapper{font-size:clamp(44px,5vw,70px)}
.psy-stats .elementor-counter-title{color:rgba(255,255,255,.8)}

/* ---- 2. TESTIMONIALS : soft tinted bg, premium cards, photo avatars ---- */
.psy-testi-sec--soft{background:linear-gradient(180deg,#fff,var(--psy-cream))!important;position:relative}
.psy-testi-sec--soft.psy-grid{padding-bottom:clamp(70px,8vw,110px)!important}
.elementor-section .elementor-column.psy-testi>.elementor-widget-wrap{background:#fff!important;border:1px solid color-mix(in srgb,var(--xav-dark) 7%,transparent);box-shadow:0 30px 60px -42px color-mix(in srgb,var(--xav-dark) 55%,transparent);padding:46px 36px 34px!important;overflow:hidden}
.elementor-section .elementor-column.psy-testi>.elementor-widget-wrap:after{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:var(--psy-grad);transform:scaleX(0);transform-origin:0 50%;transition:transform .6s var(--psy-ease)}
.elementor-section .elementor-column.psy-testi>.elementor-widget-wrap:hover:after{transform:scaleX(1)}
.elementor-section .elementor-column.psy-testi>.elementor-widget-wrap:hover{background:#fff!important;transform:translateY(-10px)}
.psy-testi .elementor-testimonial-wrapper{display:flex;flex-direction:column}
.psy-testi .elementor-testimonial-content{order:1;font-size:18px;font-style:italic}
.psy-testi .elementor-testimonial-meta{order:2;border-top:1px solid color-mix(in srgb,var(--xav-dark) 9%,transparent);padding-top:22px}
.psy-testi .elementor-testimonial-meta-inner{display:flex;align-items:center;gap:16px}
.psy-testi .elementor-testimonial-image{flex:none}
.psy-testi .elementor-testimonial-image img{width:66px!important;height:66px!important;object-fit:cover;object-position:50% 20%;border-radius:50%!important;border:3px solid #fff;box-shadow:0 0 0 2px var(--psy-accent),0 14px 24px -12px rgba(0,0,0,.4);transition:transform .5s var(--psy-ease)}
.psy-testi:hover .elementor-testimonial-image img{transform:scale(1.08) rotate(-4deg)}

/* ---- 3. FAQ : dark section, white accordion cards, image-box contact card ---- */
.psy-faq--dark{background:radial-gradient(700px 420px at 0 0,color-mix(in srgb,var(--xav-primary) 55%,transparent),transparent 70%),radial-gradient(600px 400px at 100% 100%,color-mix(in srgb,var(--psy-accent) 30%,transparent),transparent 70%),var(--xav-dark)!important;position:relative;overflow:hidden}
.psy-faq--dark:before{content:"";position:absolute;right:-140px;top:-140px;width:420px;height:420px;border-radius:50%;border:1.5px solid rgba(255,255,255,.1);animation:psy-spin 40s linear infinite;pointer-events:none}
.psy-faq--dark .elementor-container{position:relative;z-index:2}
.psy-faq--dark .psy-acc .elementor-accordion-item{background:#fff;box-shadow:0 24px 44px -28px rgba(0,0,0,.6)}
.psy-faq--dark .psy-acc .elementor-accordion-item:has(.elementor-active){box-shadow:0 30px 56px -26px rgba(0,0,0,.7),0 0 0 2px var(--psy-accent)}
.psy-faq-card>.elementor-widget-wrap{padding:0!important;overflow:hidden;border-radius:28px;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px);box-shadow:0 40px 70px -40px rgba(0,0,0,.7)}
.psy-faq-card .elementor-widget-heading,.psy-faq-card .elementor-widget-icon-list{padding:0 28px}
.psy-faq-card .elementor-widget-heading{margin-top:22px}
.psy-faq-card .elementor-widget-icon-list{padding-bottom:28px}
.psy-faq-card .elementor-heading-title{color:var(--psy-peach)!important}
.psy-faq-img{margin:0!important;width:100%;overflow:hidden}
.psy-faq-img img{width:100%;height:190px;object-fit:cover;display:block;transition:transform 1s var(--psy-ease)}
.psy-faq-card:hover .psy-faq-img img{transform:scale(1.08)}
.psy-faq-card .elementor-icon-list-item{padding:6px 0}
.psy-faq-card .elementor-icon-list-icon{display:grid;place-items:center;width:38px!important;height:38px;border-radius:12px;background:var(--psy-grad);margin-right:12px;transition:transform .35s var(--psy-ease)}
.psy-faq-card .elementor-icon-list-icon i{color:#fff!important;font-size:14px!important}
.psy-faq-card .elementor-icon-list-icon svg,.psy-faq-card .elementor-icon-list-icon svg path{fill:#fff!important;width:14px!important;height:14px!important}
.psy-faq-card .elementor-icon-list-item:hover .elementor-icon-list-icon{transform:rotate(-10deg) scale(1.1)}
.psy-faq-card .elementor-icon-list-text{color:#fff!important;font-weight:500}
/* accordion +/- fixed: always white on red, minus when open */
.psy-acc .elementor-accordion-icon,.psy-acc .elementor-accordion-icon:before{color:var(--xav-primary)!important}
.psy-acc .elementor-accordion-icon:before{font-family:var(--psy-fa)!important;font-weight:900!important;content:"\f067"!important;position:static;transform:none}
.psy-acc .elementor-active .elementor-accordion-icon:before,.psy-acc .elementor-tab-title.elementor-active .elementor-accordion-icon:before{content:"\f068"!important;color:#fff!important}
.psy-acc .elementor-active .elementor-accordion-icon{color:#fff!important}
.psy-acc .elementor-tab-title:hover .elementor-accordion-icon{transform:none}

/* ---- 4. BLOG : soft mist bg, cleaner cards ---- */
.psy-blog--soft{background:linear-gradient(180deg,var(--psy-cream),#fff 70%)!important;position:relative}
.psy-blog--soft.psy-blog--head{padding-bottom:0!important}
.psy-blog--soft.psy-blog--grid{padding-bottom:clamp(70px,8vw,110px)!important}
.psy-blog--grid .xav-pcard{background:#fff;border:1px solid color-mix(in srgb,var(--xav-dark) 6%,transparent);box-shadow:0 28px 56px -42px color-mix(in srgb,var(--xav-dark) 60%,transparent)}
.psy-blog--grid .xav-pcard .thumb{position:relative;aspect-ratio:16/11;overflow:hidden}
.psy-blog--grid .xav-pcard .thumb:after{content:"\f061";font-family:var(--psy-fa);font-weight:900;position:absolute;right:18px;bottom:18px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--xav-primary);font-size:15px;opacity:0;transform:translateY(12px) rotate(-45deg);transition:.45s var(--psy-ease);box-shadow:0 14px 26px -12px rgba(0,0,0,.5)}
.psy-blog--grid .xav-pcard:hover .thumb:after{opacity:1;transform:none}
.psy-blog--grid .xav-pcard:hover{box-shadow:0 50px 80px -40px color-mix(in srgb,var(--xav-dark) 65%,transparent)}
.psy-blog--grid .xav-pcard .cat{border:1px solid color-mix(in srgb,var(--psy-accent) 30%,transparent)}
.psy-blog--grid .xav-pcard .meta{padding-top:14px;border-top:1px solid color-mix(in srgb,var(--xav-dark) 8%,transparent);opacity:.7}

/* ---- 5. CTA : full-bleed dark section, glass card ---- */
.psy-cta-sec--dark{background:radial-gradient(700px 420px at 15% 100%,color-mix(in srgb,var(--xav-primary) 70%,transparent),transparent 70%),radial-gradient(600px 400px at 90% 0,color-mix(in srgb,var(--psy-accent) 45%,transparent),transparent 70%),var(--xav-dark)!important;padding:clamp(70px,9vw,130px) 0!important;position:relative;overflow:hidden}
.psy-cta-sec--dark:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1.5px);background-size:26px 26px;mask-image:radial-gradient(ellipse at center,#17302b,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,#17302b,transparent 75%);pointer-events:none}
.psy-cta-sec--dark .elementor-container{position:relative;z-index:2}
.psy-cta-sec--dark .elementor-column.psy-cta>.elementor-widget-wrap{background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.03))!important;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);box-shadow:0 50px 100px -50px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.2);animation:none}
.psy-cta .elementor-button{border-radius:99px!important;font-weight:700;transition:transform .35s var(--psy-ease),box-shadow .35s,background .35s,color .35s!important}
.psy-cta .elementor-button:hover{transform:translateY(-4px)}
.psy-cta .elementor-button-icon{transition:transform .35s}.psy-cta .elementor-button:hover .elementor-button-icon{transform:translateX(5px)}
.psy-cta .elementor-button-icon i{color:inherit!important}

/* ---- responsive ---- */
@media(max-width:1024px){
 .psy-stat>.elementor-widget-wrap{padding:22px 10px!important}
 .psy-stat-ic .elementor-icon{width:54px;height:54px}
 .psy-faq-img img{height:170px}
}
@media(max-width:767px){
 .elementor-section .elementor-column.psy-testi>.elementor-widget-wrap{padding:38px 26px 28px!important;margin:8px 0}
 .psy-testi .elementor-testimonial-content{font-size:17px}
 .psy-faq-card .elementor-widget-heading,.psy-faq-card .elementor-widget-icon-list{padding-left:22px;padding-right:22px}
 .psy-cta-sec--dark .elementor-column.psy-cta>.elementor-widget-wrap{padding:46px 22px!important}
 .psy-stats .elementor-counter-title{font-size:11.5px;letter-spacing:.1em}
}
@media(prefers-reduced-motion:reduce){.psy-faq--dark:before{animation:none}}

/* =====================================================================
   v13.1 — stats: premium state by default · FAQ card alignment fix
   ===================================================================== */

/* ---- STATS: glass card + white icon tile are now the DEFAULT look ---- */
.psy-stat>.elementor-widget-wrap{
  align-items:center;justify-content:flex-start;text-align:center;
  margin:0 10px;padding:34px 20px 30px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.2)!important;
  box-shadow:0 30px 50px -32px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.psy-stat+.psy-stat>.elementor-widget-wrap{border-left:1px solid rgba(255,255,255,.2)!important}
.psy-stat:hover>.elementor-widget-wrap{background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.07));border-color:rgba(255,255,255,.34)!important;transform:translateY(-8px)}
.psy-stat .elementor-widget{width:100%}
.psy-stat-ic{display:flex!important;justify-content:center;margin:0 0 18px!important}
.psy-stat-ic .elementor-widget-container,.psy-stat-ic .elementor-icon-wrapper{display:flex;justify-content:center;width:100%}
.psy-stat-ic .elementor-icon{
  margin:0 auto;width:64px;height:64px;border-radius:20px;
  background:#fff!important;color:var(--xav-primary)!important;
  transform:rotate(-8deg);border:0;
  box-shadow:0 18px 30px -14px rgba(0,0,0,.55)}
.psy-stat-ic .elementor-icon i,.psy-stat-ic .elementor-icon .fas{color:var(--xav-primary)!important;font-size:24px}
.psy-stat-ic .elementor-icon svg{width:24px!important;height:24px!important;fill:var(--xav-primary)!important}
.psy-stat-ic .elementor-icon svg path{fill:var(--xav-primary)!important}
.psy-stat:hover .psy-stat-ic .elementor-icon{background:var(--psy-accent)!important;color:#fff!important;transform:rotate(0) scale(1.1)}
.psy-stat:hover .psy-stat-ic .elementor-icon i{color:#fff!important}
.psy-stat:hover .psy-stat-ic .elementor-icon svg,.psy-stat:hover .psy-stat-ic .elementor-icon svg path{fill:#fff!important}
.psy-stats .elementor-counter,.psy-stats .elementor-counter-number-wrapper,.psy-stats .elementor-counter-title{text-align:center;justify-content:center;width:100%}
@media(max-width:1024px){.psy-stat>.elementor-widget-wrap{margin:8px;padding:26px 12px 22px!important}}

/* ---- FAQ left column: tidy stack, image box properly sized ---- */
.psy-faq .elementor-container{align-items:flex-start}
.psy-faq-copy>.elementor-widget-wrap{align-content:flex-start}
.psy-faq-card{width:100%}
.psy-faq-card>.elementor-widget-wrap{display:flex;flex-direction:column;align-items:stretch;overflow:hidden}
.psy-faq-card .psy-faq-img,.psy-faq-card .psy-faq-img .elementor-widget-container{display:block;width:100%;height:200px;margin:0!important;padding:0!important;overflow:hidden;line-height:0}
.psy-faq-card .psy-faq-img img{width:100%!important;max-width:none!important;height:200px!important;object-fit:cover;object-position:50% 60%;display:block;border-radius:0!important}
.psy-faq-card .elementor-widget-heading{margin:26px 0 8px!important;padding:0 30px}
.psy-faq-card .elementor-widget-heading .elementor-heading-title{margin:0;line-height:1.2}
.psy-faq-card .elementor-widget-icon-list{padding:0 30px 30px!important;margin:0!important}
.psy-faq-card .elementor-icon-list-items{display:grid;gap:10px}
.psy-faq-card .elementor-icon-list-item>a,.psy-faq-card .elementor-icon-list-item{display:flex;align-items:center}
.psy-faq-card .elementor-icon-list-icon{flex:none;margin:0 14px 0 0!important}
.psy-faq-card .elementor-icon-list-text{padding:0!important;word-break:break-word}
.psy-faq-copy .psy-sub{margin-bottom:6px}
@media(min-width:1025px){.psy-faq-copy>.elementor-widget-wrap{position:sticky;top:110px}}
@media(max-width:1024px){.psy-faq-card .psy-faq-img,.psy-faq-card .psy-faq-img .elementor-widget-container,.psy-faq-card .psy-faq-img img{height:180px!important}}

/* =====================================================================
   v13.2 — faq hover · process arrows & spacing · faq contact icons
   ===================================================================== */
/* FAQ: icon circle on hover — gradient disc with WHITE glyph (was same colour as bg) */
.psy-acc .elementor-tab-title:hover .elementor-accordion-icon,
.psy-acc .elementor-tab-title.elementor-active:hover .elementor-accordion-icon{background:var(--psy-grad)!important;color:#fff!important;box-shadow:0 12px 22px -10px var(--xav-primary)}
.psy-acc .elementor-tab-title:hover .elementor-accordion-icon:before,
.psy-acc .elementor-tab-title.elementor-active:hover .elementor-accordion-icon:before{color:#fff!important}

/* PROCESS: more space between boxes, arrows centred in the gap & vertically in the middle */
.elementor-section.psy-process--u .elementor-column.psy-step>.elementor-widget-wrap{margin:12px 20px}
.psy-steps-row>.elementor-container{margin-left:-8px;margin-right:-8px}
@media(min-width:1025px){
  .psy-process--u .psy-step:not(:last-child)>.elementor-widget-wrap:before{right:-34px;top:50%;margin-top:-14px;width:28px;height:28px;font-size:11px}
}
@media(max-width:1024px){.elementor-section.psy-process--u .elementor-column.psy-step>.elementor-widget-wrap{margin:10px 0}}

/* FAQ contact card: glyph perfectly centred inside its gradient tile */
.psy-faq-card .elementor-icon-list-icon{display:flex!important;align-items:center;justify-content:center;width:42px!important;min-width:42px;height:42px;padding:0!important;text-align:center;border-radius:14px}
.psy-faq-card .elementor-icon-list-icon i,.psy-faq-card .elementor-icon-list-icon .fas{display:block;width:auto!important;margin:0!important;line-height:1;font-size:15px!important;text-align:center}
.psy-faq-card .elementor-icon-list-icon svg{display:block;margin:0!important;width:15px!important;height:15px!important}
.psy-faq-card .elementor-icon-list-item>a{gap:14px}
.psy-faq-card .elementor-icon-list-icon{margin-right:0!important}
