/* Layout + styling for legacy Divi Builder content rendered by inc/divi-compat.php (no Divi required). */
.ps-entry-divi{overflow-x:hidden}
.ps-d-section{position:relative;padding:54px 0;background-size:cover;background-position:center}
.ps-d-section.ps-d-fullwidth{padding:0}
.ps-d-row{width:90%;max-width:1200px;margin:0 auto;padding:27px 0;display:flex;flex-wrap:wrap;gap:var(--ps-gap,30px) var(--ps-gap,30px);align-items:flex-start}
.ps-d-row.ps-d-row-full{width:100%;max-width:none}
.ps-d-row.ps-d-equal{align-items:stretch}
.ps-d-row-inner{width:100%;padding:0}
.ps-d-specialty>.ps-d-row{padding-top:0}
.ps-d-col{box-sizing:border-box;flex:0 0 100%;min-width:0;max-width:100%}
@media(min-width:981px){.ps-d-col{flex:0 0 calc(var(--ps-f,1)*100% - var(--ps-gap,30px)*(1 - var(--ps-f,1)));max-width:calc(var(--ps-f,1)*100% - var(--ps-gap,30px)*(1 - var(--ps-f,1)))}}
.ps-d-col>*+*{margin-top:1.25rem}
.ps-d-dark,.ps-d-dark :is(h1,h2,h3,h4,h5,p,li,a,span){color:#fff}
.ps-d-text,.ps-prose{line-height:1.75;color:#334155}
.ps-d-text h1,.ps-d-text h2,.ps-d-text h3,.ps-d-text h4{color:#0f172a;line-height:1.2;letter-spacing:-.02em;margin:1.2em 0 .5em;font-weight:700}
.ps-d-text h1{font-size:2.25rem}.ps-d-text h2{font-size:1.75rem}.ps-d-text h3{font-size:1.35rem}
.ps-d-text p{margin:0 0 1em}
.ps-d-text ul{list-style:disc;padding-left:1.4rem;margin:0 0 1em}.ps-d-text ol{list-style:decimal;padding-left:1.4rem;margin:0 0 1em}
.ps-d-text a{color:#5727a5;text-decoration:underline}
.ps-d-text blockquote{border-left:4px solid #e879f9;padding-left:1.25rem;color:#475569}
.ps-d-text img{max-width:100%;height:auto;border-radius:.75rem}
.ps-d-image img,.ps-d-img{max-width:100%;height:auto;display:inline-block;border-radius:.5rem}
.ps-d-image.ps-d-img-full img{width:100%}
.ps-d-align-center{text-align:center}.ps-d-align-right{text-align:right}.ps-d-align-left{text-align:left}
.ps-d-btn{display:inline-block;border-radius:9999px;background:#5727a5;color:#fff!important;padding:.8rem 1.6rem;font-weight:700;text-decoration:none;transition:background .2s}
.ps-d-btn:hover{background:#431c84}
.ps-d-btn-wrap{margin:.5rem 0}
.ps-d-blurb{display:flex;flex-direction:column;gap:.75rem}
.ps-d-blurb-left,.ps-d-blurb-right{flex-direction:row;align-items:flex-start;gap:1rem}
.ps-d-blurb-right{flex-direction:row-reverse;text-align:right}
.ps-d-blurb-top{text-align:center;align-items:center}
.ps-d-blurb-media img{width:64px;height:64px;object-fit:contain}
.ps-d-blurb-title{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0 0 .35rem}
.ps-d-blurb-title a{color:inherit;text-decoration:none}
.ps-d-blurb-text{color:#475569;line-height:1.7}
.ps-d-cta{border-radius:1.25rem;background:#f5f3ff;padding:2rem;text-align:center}
.ps-d-cta-title{font-size:1.6rem;font-weight:700;margin:0 0 .75rem;color:#0f172a}
.ps-d-divider{border:0;border-top:1px solid #e2e8f0;margin:1.5rem 0}
.ps-d-testimonial{border-radius:1.25rem;border:1px solid #e2e8f0;background:#fff;padding:1.75rem;margin:0}
.ps-d-portrait{width:80px;height:80px;border-radius:9999px;object-fit:cover;margin-bottom:1rem}
.ps-d-quote{font-size:1.05rem;line-height:1.75;color:#334155;font-style:italic}
.ps-d-cite{margin-top:1rem;font-size:.9rem;color:#64748b}.ps-d-cite strong{color:#0f172a}
.ps-d-toggle,.ps-d-accordion details{border:1px solid #e2e8f0;border-radius:.9rem;margin:0 0 .6rem;background:#fff}
.ps-d-toggle summary{cursor:pointer;padding:1rem 1.25rem;font-weight:700;color:#0f172a}
.ps-d-toggle-body{padding:0 1.25rem 1.1rem;color:#475569;line-height:1.7}
.ps-d-tabs{border:1px solid #e2e8f0;border-radius:1rem;overflow:hidden;background:#fff}
.ps-d-tab-list{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;background:#f8fafc;border-bottom:1px solid #e2e8f0}
.ps-d-tab-list li{margin:0}
.ps-d-tab-list button,.ps-d-tab-list a{display:block;padding:.9rem 1.25rem;font-weight:700;color:#475569;background:none;border:0;cursor:pointer;text-decoration:none}
.ps-d-tab-list [aria-selected=true]{color:#5727a5;background:#fff;box-shadow:inset 0 -2px #7c3aed}
.ps-d-tab-panel{padding:1.5rem}
.ps-d-tab-title-nojs{display:none}
.ps-d-tabs:not([data-ready]) .ps-d-tab-list{display:none}
.ps-d-tabs:not([data-ready]) .ps-d-tab-title-nojs{display:block;margin:0 0 .75rem}
.ps-d-tabs[data-ready] .ps-d-tab-panel[hidden]{display:none}
.ps-d-slider{position:relative;overflow:hidden;border-radius:1rem;background:#0f172a;color:#fff}
.ps-d-slides{display:flex;transition:transform .5s ease}
.ps-d-slide{flex:0 0 100%;min-height:340px;display:flex;align-items:center;background-size:cover;background-position:center;position:relative}
.ps-d-slider:not([data-ready]) .ps-d-slides{display:block}
.ps-d-slider:not([data-ready]) .ps-d-slider-nav{display:none}
.ps-d-slide-inner{padding:2.5rem;max-width:42rem;position:relative}
.ps-d-slide-title{font-size:2rem;font-weight:700;margin:0 0 .75rem;color:#fff}
.ps-d-slide-text{line-height:1.7;color:#e2e8f0}
.ps-d-slide-img{max-width:40%;margin-left:auto;padding:1rem}
.ps-d-slider-nav{position:absolute;inset:auto 1rem 1rem auto;display:flex;gap:.5rem}
.ps-d-slider-nav button{width:2.5rem;height:2.5rem;border-radius:9999px;border:0;background:rgba(255,255,255,.2);color:#fff;font-size:1.4rem;cursor:pointer}
.ps-d-slider-nav button:hover{background:rgba(255,255,255,.4)}
.ps-d-header{padding:4rem 1.5rem;text-align:center;background:#0f172a;color:#fff;background-size:cover;background-position:center}
.ps-d-header-inner{max-width:48rem;margin:0 auto}
.ps-d-header-logo{max-height:90px;width:auto;margin:0 auto 1.25rem}
.ps-d-header-title{font-size:2.75rem;font-weight:700;line-height:1.1;color:#fff}
.ps-d-header-sub{margin-top:.75rem;font-size:1.2rem;color:#e9d5ff}
.ps-d-header-text{margin-top:1rem;color:#cbd5e1}
.ps-d-header-btns{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.5rem}
.ps-d-counters{list-style:none;padding:0;margin:0;display:grid;gap:1rem}
.ps-d-counter{display:grid;gap:.4rem}.ps-d-counter-title{font-weight:700;color:#0f172a}
.ps-d-counter-bar{display:block;height:.75rem;border-radius:9999px;background:#e2e8f0;overflow:hidden}
.ps-d-counter-bar span{display:block;height:100%;background:linear-gradient(90deg,#7c3aed,#d946ef)}
.ps-d-number{text-align:center}.ps-d-number-value{font-size:3rem;font-weight:700;color:#5727a5}.ps-d-number-title{color:#64748b;font-weight:600}
.ps-d-team{text-align:center}.ps-d-team img{width:100%;max-width:260px;aspect-ratio:1;object-fit:cover;border-radius:1.25rem;margin:0 auto}
.ps-d-team-name{margin:1rem 0 .15rem;font-weight:700;font-size:1.15rem;color:#0f172a}.ps-d-team-role{color:#5727a5;font-weight:600;font-size:.9rem}
.ps-d-team-bio{margin-top:.5rem;color:#475569}
.ps-d-pricing{display:grid;gap:1.25rem}
@media(min-width:768px){.ps-d-pricing{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
.ps-d-price{border:1px solid #e2e8f0;border-radius:1.25rem;padding:1.75rem;background:#fff;text-align:center}
.ps-d-price.is-featured{border-color:#7c3aed;box-shadow:0 20px 40px -20px rgba(87,39,165,.4)}
.ps-d-price-title{font-size:1.2rem;font-weight:700}.ps-d-price-sub{color:#64748b}
.ps-d-price-sum{font-size:2.6rem;font-weight:700;color:#5727a5;margin:.75rem 0}.ps-d-price-sum small{font-size:1rem;color:#64748b}
.ps-d-gallery{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.ps-d-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:.75rem}
.ps-d-video{position:relative}.ps-d-video iframe,.ps-d-video video{width:100%;aspect-ratio:16/9;border-radius:.75rem}
.ps-d-social{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;padding:0;margin:0}
.ps-d-social a{display:inline-block;border-radius:9999px;background:#f1f5f9;padding:.5rem 1rem;font-weight:600;font-size:.875rem}
.ps-d-grid{display:grid;gap:1.25rem}
@media(min-width:768px){.ps-d-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}
.ps-d-card{border:1px solid #e2e8f0;border-radius:1rem;padding:1.25rem;background:#fff}.ps-d-card img{width:100%;border-radius:.6rem;margin-bottom:.75rem}
.ps-d-card h3{font-weight:700;font-size:1.15rem}.ps-d-card a{color:inherit}
.ps-d-contact{border-radius:1.5rem;background:#fff;padding:1.5rem;border:1px solid #e2e8f0}.ps-d-form-title{font-size:1.4rem;font-weight:700;margin:0 0 1rem}
.ps-d-code{max-width:100%;overflow-x:auto}
.ps-d-spacer{display:block}
.ps-d-hide-desktop{display:none}
@media(max-width:980px){.ps-d-hide-tablet{display:none}}
@media(max-width:767px){.ps-d-hide-phone{display:none}.ps-d-hide-tablet{display:revert}}
@media(min-width:981px){.ps-d-hide-desktop{display:none}}
@media(max-width:980px){.ps-d-hide-desktop{display:revert}}
.ps-d-generic{padding:.5rem 0}
.ps-entry-divi img{max-width:100%;height:auto}
.ps-entry-divi h1,.ps-entry-divi h2,.ps-entry-divi h3{overflow-wrap:break-word}
.ps-d-contact .ps-enquiry-form{border:0;padding:0;box-shadow:none;border-radius:0;background:transparent}
