/* PlanZ2B Studio / 3.9.0
 * Deliberately scoped above historical theme and Elementor widget styles.
 * No content is rewritten. Keep this file last in the front-end style queue.
 */
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/InterVariable.woff2') format('woff2');
}
:root:root {
  --p-font: Inter, sans-serif;
  --p-heading-font: Inter, sans-serif;
  --p-blue: #244ce0;
  --p-blue-dark: #193ab3;
  --p-red: #c34936;
  --p-dark: #202321;
  --p-ink: #202321;
  --p-body: #404641;
  --p-muted: #626863;
  --p-soft: #f5f5f0;
  --p-line: #dddfd8;
  --p-radius: 6px;
  --p-shadow: none;
  --p-shadow-sm: none;
  --p-ease: ease;
  --p-header-height: 88px;
  --p-admin-height: 0px;
}
body.pz-studio {
  margin: 0;
  background: #fff;
  color: var(--p-body);
  font: 400 16px/1.7 Inter, sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
body.pz-studio :where(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,label,summary,blockquote,cite,small,b,strong),
body.pz-studio :where(.p-kicker,.p-link,.p-trust,.p-mega-title,.p-project-label,.p-project-category,.p-project-featured,.elementor-heading-title,.elementor-button-text,.elementor-icon-list-text) {
  font-family: Inter, sans-serif;
}
body.pz-studio :where(h1,h2,h3,h4,h5,h6) { color: var(--p-ink); font-weight: 560; }
body.pz-studio :where(a,button,input,select,textarea,summary):focus-visible { outline: 2px solid var(--p-blue); outline-offset: 5px; }
body.pz-studio :where(button,a,input,textarea,select) { -webkit-tap-highlight-color: transparent; }
body.pz-studio :where(.p-container) { width: min(1280px, calc(100% - 96px)); }
body.pz-studio [hidden] { display: none !important; }
body.pz-studio .p-skip-link { position: fixed; left: 20px; top: -100px; z-index: 100001; padding: 12px 20px; color: #fff; background: var(--p-dark); border-radius: 4px; }
body.pz-studio .p-skip-link:focus { top: 12px; }
body.pz-studio #main-content:focus { outline: none; }
body.pz-studio .p-blue { color: var(--p-blue); }
body.pz-studio .p-red { color: var(--p-ink); }

/* A quiet header, a full-width service directory, real disclosure controls. */
body.pz-studio .p-header { background: #fff; border-bottom: 1px solid var(--p-line); box-shadow: none; backdrop-filter: none; z-index: 1000; }
body.pz-studio.admin-bar { --p-admin-height: 32px; }
body.pz-studio .p-header { top: var(--p-admin-height); }
body.pz-studio .p-header.is-static { top: auto; }
body.pz-studio .p-nav { height: var(--p-header-height); position: relative; gap: 24px; padding: 0; }
body.pz-studio .p-brand { flex: 0 0 auto; }
body.pz-studio .p-brand img { width: 153px; max-height: 58px; object-fit: contain; }
body.pz-studio .p-primary-nav { margin-left: auto; min-width: 0; }
body.pz-studio .p-menu { gap: 10px; margin: 0; padding: 0; }
body.pz-studio .p-menu > li { display: flex; align-items: center; }
body.pz-studio .p-menu > li > a { padding: 30px 5px; min-height: var(--p-header-height); font-size: 14px; font-weight: 500; border: 0; border-radius: 0; background: none; color: var(--p-ink); white-space: nowrap; }
body.pz-studio .p-menu > li > a:hover,
body.pz-studio .p-menu > .current-menu-item > a,
body.pz-studio .p-menu > .current-menu-ancestor > a { color: var(--p-blue); background: none; }
body.pz-studio .p-menu .menu-item-has-children > a::after { content: none; }
body.pz-studio .p-submenu-toggle { display: none; align-items: center; justify-content: center; flex: 0 0 24px; width: 24px; height: 36px; margin: 0 0 0 -4px; padding: 0; border: 0; border-radius: 3px; background: transparent; color: var(--p-ink); cursor: pointer; }
body.pz-studio .p-nav-ready .p-submenu-toggle { display: inline-flex; }
body.pz-studio .p-submenu-toggle::before { content: ''; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .16s; }
body.pz-studio .p-submenu-toggle[aria-expanded='true']::before { transform: rotate(225deg) translate(-2px,-1px); }
body.pz-studio .p-menu .sub-menu { top: 100%; left: 0; width: 320px; max-height: calc(100dvh - var(--p-header-height) - var(--p-admin-height) - 24px); overflow: auto; margin: 0; padding: 16px; border: 1px solid var(--p-line); border-radius: 5px; background: #fff; box-shadow: 0 18px 40px rgba(25,32,24,.09); transform: none; transition: none; }
body.pz-studio .p-menu .sub-menu a { padding: 12px; min-height: 44px; font-size: 14px; font-weight: 450; border-radius: 3px; }
body.pz-studio .p-menu .sub-menu a:hover { color: var(--p-blue); background: var(--p-soft); }
body.pz-studio .p-menu .p-mega-parent { position: static; }
body.pz-studio .p-menu .p-mega { position: absolute; top: 100%; left: 0; right: 0; width: 100%; max-width: none; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px; padding: 32px; border-radius: 6px; overflow-y: auto; }
body.pz-studio .p-mega section { display: flex; flex-direction: column; padding: 0; border: 0; background: #fff; }
body.pz-studio .p-mega-title { display: block; min-height: 0; margin: 0 0 10px; color: #606660; font-size: 11px; font-weight: 650; line-height: 1.4; letter-spacing: .055em; text-transform: uppercase; }
body.pz-studio .p-mega-title > span { display: none; }
body.pz-studio .p-mega p { min-height: 46px; margin: 0 0 16px; color: var(--p-muted); font-size: 12px; line-height: 1.65; }
body.pz-studio .p-menu .p-mega a,
body.pz-studio .p-menu .p-mega a:first-of-type,
body.pz-studio .p-menu .p-mega a:last-child { display: flex; gap: 12px; align-items: center; min-height: 50px; padding: 8px 2px; border: 0; border-radius: 3px; background: transparent; font-size: 13px; font-weight: 500; line-height: 1.45; }
body.pz-studio .p-menu .p-mega a:hover { background: #f5f6f2; color: var(--p-blue); }
body.pz-studio .p-mega-link-icon { width: 32px; height: 32px; flex: 0 0 32px; border: 0; border-radius: 4px; background: #f0f3ff; color: var(--p-blue); }
body.pz-studio .p-mega-link-icon svg { width: 19px; height: 19px; }
body.pz-studio .p-menu .p-mega a:hover .p-mega-link-icon { background: #e7ecff; color: var(--p-blue); transform: none; }
body.pz-studio .p-menu li:hover > .sub-menu,
body.pz-studio .p-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
body.pz-studio .p-nav-ready .p-menu li:not(.is-open) > .sub-menu { opacity: 0; visibility: hidden; pointer-events: none; }
body.pz-studio .p-nav-ready .p-menu li.is-open > .sub-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
body.pz-studio .p-menu .sub-menu .sub-menu { position: static; width: 100%; box-shadow: none; max-height: none; }
body.pz-studio .p-nav-cta { margin: 0; flex: 0 0 auto; min-height: 44px; padding: 0 19px; border-radius: 100px; font-size: 13px; background: var(--p-dark); border-color: var(--p-dark); }
body.pz-studio .p-toggle { display: none; }

/* Type and spacing establish hierarchy without decorative gradients. */
body.pz-studio :is(.p-section,.pz-el-section.elementor-section) { padding: 96px 0; }
body.pz-studio :is(.p-soft,.pz-el-soft) { background: var(--p-soft); }
body.pz-studio .p-section-head { max-width: 880px; margin: 0 0 44px; text-align: left; }
body.pz-studio :is(.p-section-head h2,.p-about-copy h2,.pz-el-section-heading .elementor-heading-title) { margin: 0 0 18px; font-size: clamp(32px,3.5vw,48px); font-weight: 560; line-height: 1.14; letter-spacing: -.045em; text-wrap: balance; }
body.pz-studio .p-section-head p { max-width: 650px; margin: 0; color: var(--p-muted); font-size: 16px; line-height: 1.75; }
body.pz-studio :is(.p-kicker,.pz-el-kicker p) { display: flex; width: fit-content; gap: 12px; align-items: center; padding: 0; margin: 0 0 24px; border: 0; border-radius: 0; background: transparent; color: #686d66; font-size: 11px; font-weight: 600; line-height: 1.5; letter-spacing: .13em; text-transform: uppercase; }
body.pz-studio .p-kicker::before { width: 20px; height: 1px; background: currentColor; }
body.pz-studio :is(.p-btn,.elementor-widget-button.pz-el-button-primary .elementor-button,.elementor-widget-button.pz-el-button-secondary .elementor-button) { min-height: 50px; padding: 0 23px; border-radius: 4px; border: 1px solid var(--p-blue); background: var(--p-blue); color: #fff; font-size: 14px; font-weight: 550; line-height: 1.35; box-shadow: none; transition: background .18s,color .18s,border-color .18s; transform: none; }
body.pz-studio :is(.p-btn,.elementor-widget-button.pz-el-button-primary .elementor-button):hover { background: var(--p-blue-dark); border-color: var(--p-blue-dark); color: #fff; transform: none; box-shadow: none; }
body.pz-studio :is(.p-btn-outline,.elementor-widget-button.pz-el-button-secondary .elementor-button) { border-color: #bfc4bc; color: var(--p-ink); background: transparent; }
body.pz-studio :is(.p-btn-outline,.elementor-widget-button.pz-el-button-secondary .elementor-button):hover { border-color: var(--p-ink); color: var(--p-ink); background: #f0f1ec; }
body.pz-studio .p-nav-cta { border-radius: 99px; background: var(--p-dark); border-color: var(--p-dark); min-height: 44px; }
body.pz-studio .p-nav-cta:hover { background: #3c443c; border-color: #3c443c; }
body.pz-studio .p-link { color: var(--p-blue); font-size: 13px; font-weight: 550; }
body.pz-studio .p-link:hover { text-decoration: underline; text-underline-offset: 5px; }
body.pz-studio .p-actions { gap: 12px; }
body.pz-studio :is(.p-hero,.pz-el-hero.elementor-section) { padding: 78px 0 82px; min-height: 0; background: #fff; border-bottom: 1px solid var(--p-line); }
body.pz-studio :is(.p-hero,.p-portfolio-hero,.p-package-hero)::before,
body.pz-studio :is(.p-hero,.p-portfolio-hero,.p-package-hero)::after { content: none; }
body.pz-studio .p-hero-grid { grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); gap: 64px; align-items: center; }
body.pz-studio :is(.p-hero h1,.p-hero-copy h1,.pz-el-display-heading .elementor-heading-title) { margin: 0 0 28px; font-size: clamp(48px,5.55vw,80px); font-weight: 550; line-height: 1.035; letter-spacing: -.065em; text-wrap: initial; }
body.pz-studio .p-hero-copy > p { max-width: 500px; margin: 0 0 30px; color: #5b625b; font-size: 17px; line-height: 1.8; }
body.pz-studio .p-device-stage { min-height: 0; width: 100%; aspect-ratio: 1.13; border-radius: 5px; background: #f0f1ec; box-shadow: none; transform: none; }
body.pz-studio .p-device-stage:hover { transform: none; }
body.pz-studio .p-device-image { min-height: 0; max-height: none; width: 100%; height: 100%; object-fit: cover; border-radius: 0; filter: none; }
body.pz-studio .p-trust { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--p-line); font-size: 10px; font-weight: 550; color: #6a7069; letter-spacing: .12em; }
body.pz-studio .p-trust-row { margin-top: 11px; gap: 22px; color: #454c45; font-size: 13px; font-weight: 500; }

/* Services use open, paired rows rather than a wall of floating cards. */
body.pz-studio :is(.p-grid,.p-directory-grid) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 48px; align-items: stretch; }
body.pz-studio .p-card { display: grid; grid-template-columns: 44px minmax(0,1fr); column-gap: 20px; align-content: start; min-height: 0; height: auto; margin: 0; padding: 30px 0; background: transparent; border: 0; border-top: 1px solid #cdd2c8; border-radius: 0; box-shadow: none; transform: none; }
body.pz-studio .p-card:hover { border-color: #969e90; box-shadow: none; transform: none; }
body.pz-studio .p-card .p-icon { grid-row: 1/4; grid-column: 1; display: grid; place-items: center; width: 42px; height: 42px; margin: 2px 0 0; border: 1px solid #d1d8c9; border-radius: 4px; background: transparent; color: var(--p-blue); font-size: 22px; box-shadow: none; }
body.pz-studio .p-card h3 { grid-column: 2; margin: 0 0 9px; font-size: 21px; font-weight: 550; line-height: 1.3; letter-spacing: -.025em; }
body.pz-studio .p-card p { grid-column: 2; margin: 0 0 17px; max-width: 460px; color: var(--p-muted); font-size: 14px; line-height: 1.8; }
body.pz-studio .p-card .p-link { grid-column: 2; align-self: end; margin: 0; padding: 0; }
body.pz-studio .p-about { gap: 84px; }
body.pz-studio .p-about-photo { min-height: 0; aspect-ratio: 1.1; border-radius: 5px; box-shadow: none; background: #efeee8; }
body.pz-studio .p-about-photo img { width: 100%; height: 100%; object-fit: cover; }
body.pz-studio .p-about-copy > p { font-size: 16px; }
body.pz-studio .p-checks { gap: 14px 20px; font-size: 13px; font-weight: 500; }
body.pz-studio .p-checks li::before { width: auto; height: auto; margin-right: 10px; border-radius: 0; background: none; color: var(--p-blue); font-weight: 500; }
body.pz-studio .p-stats { margin: 64px 0 0; padding: 40px 0 0; border-top: 1px solid var(--p-line); border-radius: 0; background: transparent; color: var(--p-ink); }
body.pz-studio .p-stat { padding: 0 30px; border-color: var(--p-line); text-align: left; }
body.pz-studio .p-stat:first-child { padding-left: 0; }
body.pz-studio .p-stat strong { font-size: 47px; font-weight: 480; line-height: 1.1; letter-spacing: -.055em; }
body.pz-studio .p-stat span { display: block; margin-top: 9px; color: var(--p-muted); font-size: 12px; }
body.pz-studio .p-industries { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 40px; justify-content: stretch; }
body.pz-studio .p-industry { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 23px 0; border: 0; border-bottom: 1px solid #d1d6cb; border-radius: 0; color: var(--p-ink); background: none; box-shadow: none; font-size: 16px; font-weight: 500; }
body.pz-studio .p-industry::after { content: '↗'; color: #727c6d; font-size: 20px; }
body.pz-studio .p-industry:hover { color: var(--p-blue); border-color: var(--p-blue); transform: none; }

/* Image-led work with restrained captions; all project data remains visible. */
body.pz-studio :is(.p-portfolio,.p-portfolio-grid) { gap: 48px 32px; }
body.pz-studio :is(.p-work,.p-project-card) { padding: 0; border: 0; border-radius: 4px; box-shadow: none; background: transparent; overflow: visible; transform: none; }
body.pz-studio :is(.p-work,.p-project-card):hover { transform: none; box-shadow: none; }
body.pz-studio .p-project-card::before { content: none; }
body.pz-studio :is(.p-work-image,.p-project-media) { border-radius: 4px; background: #f1f1eb; overflow: hidden; }
body.pz-studio .p-project-card .p-work-body,
body.pz-studio .p-columns-3 .p-project-card .p-work-body,
body.pz-studio .p-work-body { padding: 25px 0 0; }
body.pz-studio :is(.p-project-card .p-work-body h2,.p-work-body h3) { font-size: 25px; font-weight: 550; line-height: 1.3; letter-spacing: -.035em; }
body.pz-studio .p-project-label { color: #6c736b; font-size: 10px; font-weight: 550; letter-spacing: .12em; }
body.pz-studio .p-project-card .p-work-body > p { max-width: 500px; font-size: 14px; color: var(--p-muted); }
body.pz-studio :is(.p-project-category,.p-project-featured) { top: 16px; padding: 6px 9px; border-radius: 3px; font-size: 9px; font-weight: 550; box-shadow: none; backdrop-filter: none; }
body.pz-studio .p-project-category { background: #fff; color: #3b453c; }
body.pz-studio .p-project-featured { background: var(--p-dark); color: #fff; }
body.pz-studio .p-project-meta { color: #636c62; font-weight: 450; }
body.pz-studio .p-testimonials { gap: 40px; }
body.pz-studio .p-quote { padding: 28px 0 0; border: 0; border-top: 1px solid #cbd1c6; border-radius: 0; background: transparent; box-shadow: none; transform: none; }
body.pz-studio .p-quote:hover { transform: none; box-shadow: none; }
body.pz-studio .p-quote::before { color: #67745e; font: 400 50px/1 Georgia,serif; }
body.pz-studio .p-quote p { color: #414941; font-size: 17px; line-height: 1.8; }
body.pz-studio .p-quote strong { font-size: 13px; font-weight: 600; }
body.pz-studio .p-quote span { color: var(--p-muted); font-size: 12px; }
body.pz-studio .p-blog-contact { grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 64px; }
body.pz-studio .p-posts { grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap: 24px; }
body.pz-studio .p-post { border: 0; border-radius: 4px; background: transparent; }
body.pz-studio .p-post-body { padding: 22px 0 0; }
body.pz-studio .p-post-body h2 { font-size: 23px; font-weight: 550; }
body.pz-studio .p-post-thumb { height: auto; aspect-ratio: 16/9; border-radius: 4px; background: var(--p-soft); }
body.pz-studio .p-contact-card { padding: 40px; border: 0; border-left: 1px solid var(--p-line); border-radius: 0; background: #f5f5f0; box-shadow: none; align-items: flex-start; }
body.pz-studio .p-contact-card h2 { font-size: 34px; font-weight: 550; letter-spacing: -.035em; }
body.pz-studio .p-contact-card p { font-size: 15px; }

/* Internal pages, packages, case studies and the existing form provider. */
body.pz-studio :is(.p-page-hero,.p-detail-hero,.p-portfolio-hero,.p-portfolio-category-hero,.p-lp-hero,.p-package-hero,.p-package-single-hero,.pz-el-page-hero.elementor-section,.pz-el-landing-hero.elementor-section,.pz-el-directory-hero.elementor-section,.pz-el-page__hero) { background: var(--p-soft); box-shadow: none; }
body.pz-studio :is(.p-page-hero h1,.p-detail-hero h1,.p-lp-hero-copy h1,.p-package-hero h1,.pz-el-page-heading .elementor-heading-title) { font-size: clamp(40px,4.7vw,68px); line-height: 1.1; font-weight: 550; letter-spacing: -.05em; }
body.pz-studio :is(.p-page-hero,.p-detail-hero,.p-package-hero) { padding-top: 76px; padding-bottom: 76px; }
body.pz-studio :is(.p-detail-visual,.p-detail-aside,.p-benefit,.p-deliverables > div,.p-lp-card-grid > article,.p-lp-list-card,.p-lp-scope,.p-lp-quote,.p-package-card,.p-package-group-card,.p-package-hero-panel,.p-package-next,.p-package-feature-list > div,.p-contact-form-card,.p-contact-panel,.p-quote-form-card,.p-quote-process,.p-case-panel,.p-case-content,.p-case-sidebar) { border-radius: 5px; box-shadow: none; }
body.pz-studio :is(.p-detail-aside,.p-package-group-card,.p-package-card,.p-lp-card-grid > article,.p-lp-list-card) { border-color: var(--p-line); background: #fff; }
body.pz-studio :is(.p-package-hero-panel,.p-package-next,.p-lp-quote,.p-quote-process) { background: var(--p-dark); }
body.pz-studio :is(.p-package-group-card,.p-package-card,.p-package-feature-list > div):hover { transform: none; box-shadow: none; }
body.pz-studio .p-package-card.is-featured { border-color: var(--p-blue); box-shadow: none; }
body.pz-studio .p-package-card h3 { font-size: 25px; font-weight: 560; letter-spacing: -.025em; }
body.pz-studio :is(.p-package-price strong,.p-package-hero-stat strong) { font-weight: 500; letter-spacing: -.045em; }
body.pz-studio :is(.p-package-details,.p-package-best,.p-package-summary,.p-package-family-nav,.p-package-combine,.p-portfolio-section) { background: var(--p-soft); }
body.pz-studio :is(.p-portfolio-toolbar,.p-portfolio-search,.p-portfolio-filters button,.p-portfolio-empty) { border-radius: 4px; box-shadow: none; }
body.pz-studio .p-portfolio-toolbar { padding: 0 0 24px; border: 0; border-bottom: 1px solid var(--p-line); background: transparent; }
body.pz-studio .p-portfolio-filters button { font-weight: 500; }
body.pz-studio .p-contact-layout { gap: 72px; }
body.pz-studio .p-contact-panel { background: var(--p-soft); color: var(--p-ink); border: 0; }
body.pz-studio .p-contact-panel :is(h2,h3,a,span,p,small) { color: inherit; }
body.pz-studio .p-contact-method { border-color: var(--p-line); }
body.pz-studio .p-contact-method-icon { border-radius: 3px; background: #e6e9e0; color: var(--p-ink); box-shadow: none; }
body.pz-studio .p-contact-form-card { padding: 0; border: 0; background: #fff; }
body.pz-studio :is(.p-formidable-wrap,.p-form) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),select,textarea) { min-height: 50px; border: 1px solid #bfc6bc; border-radius: 4px; background: #fff; color: var(--p-ink); box-shadow: none; font-family: Inter,sans-serif; font-size: 16px; padding: 13px 14px; }
body.pz-studio :is(.p-formidable-wrap,.p-form) :is(input,select,textarea):focus { border-color: var(--p-blue); box-shadow: 0 0 0 2px #e8edff; }
body.pz-studio .p-formidable-wrap .frm_primary_label,
body.pz-studio .p-form label { color: var(--p-ink); font-size: 13px; font-weight: 550; margin-bottom: 9px; }
body.pz-studio .p-formidable-wrap .frm_button_submit { background: var(--p-blue); border: 1px solid var(--p-blue); border-radius: 4px; box-shadow: none; font: 550 14px/1.4 Inter,sans-serif; min-height: 50px; }
body.pz-studio .p-formidable-wrap .frm_error { color: #a32222; }
body.pz-studio :is(.p-tech,.p-process,.p-step b) { border-radius: 4px; box-shadow: none; }
body.pz-studio .p-process { gap: 24px; }
body.pz-studio .p-step { text-align: left; border-top: 1px solid var(--p-line); padding-top: 24px; }
body.pz-studio .p-step b { margin: 0 0 20px; width: auto; height: auto; display: block; color: var(--p-blue); background: transparent; font-weight: 500; }

/* Native editable Elementor sections use the same system, without reseeding. */
body.pz-studio .pz-el-section.elementor-section > .elementor-container { width: min(1280px,calc(100% - 96px)); max-width: 1280px; }
body.pz-studio .pz-el-section .elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 0; }
body.pz-studio .pz-el-section > .elementor-container { gap: 48px; }
body.pz-studio .pz-el-section > .elementor-container > .elementor-column { flex: 1; min-width: 0; }
body.pz-studio .pz-el-centered > .elementor-container > .elementor-column > .elementor-widget-wrap > :is(.pz-el-kicker,.pz-el-section-heading,.pz-el-section-intro) { text-align: left; }
body.pz-studio .pz-el-section-intro { max-width: 650px; margin: 0 0 38px; }
body.pz-studio :is(.pz-el-lead p,.pz-el-section-intro p) { color: var(--p-muted); font-size: 16px; line-height: 1.8; }
body.pz-studio .pz-el-hero-image img { border-radius: 5px; aspect-ratio: 1.13; box-shadow: none; }
body.pz-studio :is(.pz-el-about-image img,.pz-el-landing-image img) { border-radius: 5px; box-shadow: none; }
body.pz-studio .pz-el-button-row .elementor-container { gap: 10px; }
body.pz-studio .pz-el-button-row .elementor-element-populated { padding: 0; }
body.pz-studio .pz-el-trust p { padding-top: 20px; border-top: 1px solid var(--p-line); font-size: 12px; }
body.pz-studio .pz-el-trust strong { color: var(--p-muted); font-weight: 500; font-size: 10px; letter-spacing: .1em; }
body.pz-studio .pz-el-stats.elementor-section { background: #fff; padding-top: 30px; padding-bottom: 64px; }
body.pz-studio .pz-el-stats > .elementor-container { border-top: 1px solid var(--p-line); padding-top: 34px; }
body.pz-studio .pz-el-stat-number .elementor-heading-title { color: var(--p-ink); font-size: 47px; font-weight: 480; letter-spacing: -.045em; text-align: left; }
body.pz-studio .pz-el-stat-label p { color: var(--p-muted); text-align: left; font-size: 12px; }
body.pz-studio .elementor-widget-button.pz-el-industry-link .elementor-button { padding: 22px 0; min-height: 64px; background: transparent; border: 0; border-bottom: 1px solid #d1d6cb; border-radius: 0; color: var(--p-ink); box-shadow: none; text-align: left; font-weight: 500; font-size: 16px; }
body.pz-studio .elementor-widget-button.pz-el-industry-link .elementor-button:hover { transform: none; color: var(--p-blue); }
body.pz-studio .elementor-column:is(.pz-el-quote-card,.pz-el-info-card,.pz-el-list-card,.pz-el-scope-card) > .elementor-widget-wrap { margin: 0 16px 0 0; padding: 28px 0 !important; border: 0; border-top: 1px solid var(--p-line); border-radius: 0; background: transparent; box-shadow: none; }
body.pz-studio .pz-el-quote-text p { color: #414941; font-size: 17px; }
body.pz-studio .pz-el-quote-name .elementor-heading-title { font-size: 14px; font-weight: 600; }
body.pz-studio .elementor-column.pz-el-cta-card > .elementor-widget-wrap { background: var(--p-soft); border: 0; border-radius: 4px; box-shadow: none; }
body.pz-studio .pz-el-cta-heading .elementor-heading-title { font-weight: 550; }
body.pz-studio .elementor-column:is(.pz-el-form-card,.pz-el-contact-panel) > .elementor-widget-wrap { padding: 32px !important; border: 1px solid var(--p-line); border-radius: 4px; box-shadow: none; }
body.pz-studio .elementor-column.pz-el-contact-panel > .elementor-widget-wrap { background: var(--p-dark); }
body.pz-studio .pz-el-card-number .elementor-heading-title { background: transparent; border: 1px solid var(--p-line); border-radius: 4px; font-weight: 500; }
body.pz-studio .pz-el-card-title .elementor-heading-title { font-weight: 550; }
body.pz-studio .pz-el-cta-section.elementor-section { background: var(--p-dark); }

/* Footer keeps every link and call to action, with one solid surface. */
body.pz-studio .p-footer-cta-section { padding: 64px 0; background: #f0f1ea; }
body.pz-studio .p-cta { padding: 0; background: transparent; color: var(--p-ink); border: 0; border-radius: 0; box-shadow: none; }
body.pz-studio .p-cta h2 { color: var(--p-ink); font-size: clamp(30px,3.4vw,44px); font-weight: 550; line-height: 1.2; letter-spacing: -.045em; }
body.pz-studio .p-cta p { color: var(--p-muted); margin-top: 14px; font-size: 15px; }
body.pz-studio .p-cta .p-btn { background: var(--p-dark); color: #fff; border-color: var(--p-dark); }
body.pz-studio .p-footer { margin: 0; background: var(--p-dark); color: #fff; }
body.pz-studio .p-footer-top { padding: 72px 0 60px; gap: 56px; }
body.pz-studio .p-footer h3 { color: #fff; font-size: 12px; font-weight: 550; }
body.pz-studio .p-footer :is(a,p) { color: #c2c9bf; font-size: 13px; line-height: 1.9; }
body.pz-studio .p-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
body.pz-studio .p-footer-brand img { width: 156px; }
body.pz-studio .p-footer-bottom { border-color: #474e44; color: #c2c9bf; font-size: 11px; }
body.pz-studio .p-footer-social a { border-radius: 4px; box-shadow: none; }
body.pz-studio .p-whatsapp-float { border-radius: 6px; box-shadow: 0 4px 14px #00000014; bottom: 22px; }
body.pz-studio .p-backtop { width: 42px; height: 42px; border-radius: 4px; background: #fff; color: var(--p-ink); border: 1px solid var(--p-line); box-shadow: none; }
body.pz-studio .p-reveal { opacity: 1; transform: none; transition: none; }

@media (max-width: 1190px) {
  :root:root { --p-header-height: 76px; }
  body.pz-studio .p-container { width: calc(100% - 64px); }
  body.pz-studio .p-nav { flex-wrap: wrap; height: auto; min-height: var(--p-header-height); }
  body.pz-studio .p-brand { min-height: var(--p-header-height); }
  body.pz-studio .p-primary-nav { flex: 1 0 100%; margin: 0; }
  body.pz-studio .p-nav-cta { display: none; }
  body.pz-studio .p-nav-ready .p-toggle { display: grid; place-items: center; margin-left: auto; padding: 0; width: 44px; height: 44px; flex: 0 0 44px; color: var(--p-ink); background: #fff; border: 1px solid var(--p-line); border-radius: 4px; z-index: 1002; }
  body.pz-studio .p-menu-glyph { width: 19px; height: 10px; border-block: 1.5px solid currentColor; position: relative; }
  body.pz-studio .p-toggle[aria-expanded='true'] .p-menu-glyph { height: 0; border-bottom: 0; transform: rotate(45deg); }
  body.pz-studio .p-toggle[aria-expanded='true'] .p-menu-glyph::after { content: ''; position: absolute; width: 19px; top: -1.5px; left: 0; border-top: 1.5px solid; transform: rotate(90deg); }
  body.pz-studio .p-menu { position: static; display: block; height: auto; width: 100%; margin: 0; padding: 0 0 20px; transform: none; background: #fff; overflow: visible; }
  body.pz-studio .p-nav-ready .p-menu { position: fixed; display: none; top: calc(var(--p-header-height) + var(--p-admin-height)); right: 0; bottom: 0; left: 0; width: 100%; max-height: calc(100dvh - var(--p-header-height) - var(--p-admin-height)); padding: 12px 32px 40px; overflow-y: auto; overscroll-behavior: contain; z-index: 1001; visibility: visible; transform: none; }
  body.pz-studio .p-nav-ready .p-menu.is-open { display: block; }
  body.pz-studio .p-menu > li { position: relative; display: flex; flex-wrap: wrap; width: 100%; border-bottom: 1px solid var(--p-line); }
  body.pz-studio .p-menu > li > a { flex: 1; padding: 20px 0; min-height: 60px; border: 0; border-radius: 0; font-size: 17px; }
  body.pz-studio .p-menu .menu-item-has-children > a::after { content: none; }
  body.pz-studio .p-submenu-toggle { width: 44px; height: 44px; flex-basis: 44px; margin: 0; background: var(--p-soft); }
  body.pz-studio .p-menu .sub-menu,
  body.pz-studio .p-menu .p-mega { position: static !important; display: block; width: 100% !important; max-height: none; opacity: 1; visibility: visible; margin: 0; padding: 8px 0 24px !important; transform: none !important; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
  body.pz-studio .p-nav-ready .p-menu li:not(.is-open) > .sub-menu { display: none; }
  body.pz-studio .p-nav-ready .p-menu li.is-open > .sub-menu { display: block; }
  body.pz-studio .p-nav-ready .p-menu li.is-open > .p-mega,
  body.pz-studio .p-menu .p-mega { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 26px 32px; }
  body.pz-studio .p-mega section { padding: 0; background: transparent; border: 0 !important; border-radius: 0; }
  body.pz-studio .p-mega-title { font-size: 11px; }
  body.pz-studio .p-mega p { min-height: 0; margin-bottom: 14px; }
  body.pz-studio .p-menu .p-mega a { min-height: 46px; font-size: 13px; }
  body.pz-studio .p-hero-grid { gap: 40px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.pz-studio .p-about { gap: 48px; }
  body.pz-studio .pz-el-section.elementor-section > .elementor-container { width: calc(100% - 64px); }
  body.pz-studio .p-footer-top { gap: 32px; }
}
@media (max-width: 900px) {
  body.pz-studio :is(.p-section,.pz-el-section.elementor-section) { padding: 72px 0; }
  body.pz-studio .p-hero { padding: 62px 0 64px; }
  body.pz-studio .p-hero-grid { grid-template-columns: 1fr; gap: 38px; }
  body.pz-studio .p-hero-copy { max-width: 660px; }
  body.pz-studio .p-hero h1 { font-size: clamp(48px,8vw,68px); }
  body.pz-studio .p-device-stage { max-width: none; aspect-ratio: 16/9; }
  body.pz-studio .p-hero-copy > p { max-width: 600px; }
  body.pz-studio .p-about,.p-blog-contact { grid-template-columns: 1fr; }
  body.pz-studio .p-about-photo { aspect-ratio: 4/3; max-height: 500px; }
  body.pz-studio .p-industries { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.pz-studio .p-stats { gap: 22px; }
  body.pz-studio .p-stat { padding: 0; border: 0; }
  body.pz-studio .p-stat strong { font-size: 40px; }
  body.pz-studio .p-contact-layout { gap: 36px; }
  body.pz-studio .pz-el-hero > .elementor-container { flex-direction: column; }
  body.pz-studio .pz-el-hero > .elementor-container > .elementor-column { width: 100%; }
  body.pz-studio .pz-el-hero-image img { aspect-ratio: 16/9; }
}
@media (max-width: 782px) { body.pz-studio.admin-bar { --p-admin-height: 46px; } }
@media (max-width: 680px) {
  :root:root { --p-header-height: 72px; }
  body.pz-studio .p-container,
  body.pz-studio .pz-el-section.elementor-section > .elementor-container { width: calc(100% - 40px); }
  body.pz-studio .p-nav { gap: 0; }
  body.pz-studio .p-brand img { width: 135px; }
  body.pz-studio .p-nav-ready .p-menu { padding: 8px 20px 32px; }
  body.pz-studio .p-nav-ready .p-menu li.is-open > .p-mega,
  body.pz-studio .p-menu .p-mega { grid-template-columns: 1fr !important; }
  body.pz-studio :is(.p-section,.pz-el-section.elementor-section) { padding: 60px 0; }
  body.pz-studio .p-hero { padding: 46px 0 50px; }
  body.pz-studio .p-hero h1 { font-size: clamp(40px,11.8vw,64px); letter-spacing: -.055em; margin-bottom: 24px; }
  body.pz-studio .p-hero-copy > p { font-size: 16px; line-height: 1.75; }
  body.pz-studio .p-kicker { margin-bottom: 20px; }
  body.pz-studio .p-actions { gap: 10px; }
  body.pz-studio .p-actions .p-btn { width: auto; flex: 1 1 auto; padding: 0 16px; }
  body.pz-studio .p-trust { margin-top: 28px; }
  body.pz-studio .p-trust-row { gap: 14px; font-size: 12px; }
  body.pz-studio .p-section-head { margin-bottom: 32px; }
  body.pz-studio :is(.p-section-head h2,.p-about-copy h2,.pz-el-section-heading .elementor-heading-title) { font-size: 32px; }
  body.pz-studio :is(.p-grid,.p-directory-grid) { grid-template-columns: 1fr; }
  body.pz-studio .p-card { padding: 26px 0; column-gap: 16px; }
  body.pz-studio .p-card h3 { font-size: 20px; }
  body.pz-studio .p-about { gap: 34px; }
  body.pz-studio .p-checks { grid-template-columns: 1fr; }
  body.pz-studio .p-stats { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 38px; padding-top: 30px; gap: 28px 22px; }
  body.pz-studio .p-industries { grid-template-columns: 1fr; }
  body.pz-studio .p-industry { padding: 19px 0; }
  body.pz-studio :is(.p-portfolio,.p-portfolio-grid) { gap: 38px; }
  body.pz-studio .p-portfolio-grid.p-columns-2,
  body.pz-studio .p-portfolio-grid.p-columns-3 { grid-template-columns: 1fr; }
  body.pz-studio .p-project-card .p-work-body h2 { font-size: 23px; }
  body.pz-studio .p-testimonials { grid-template-columns: 1fr; gap: 32px; }
  body.pz-studio .p-blog-contact { grid-template-columns: 1fr; gap: 40px; }
  body.pz-studio .p-contact-card { padding: 28px; border: 0; }
  body.pz-studio .p-contact-layout { grid-template-columns: 1fr; }
  body.pz-studio .p-contact-panel { padding: 26px; }
  body.pz-studio .p-cta { display: flex; flex-direction: column; align-items: flex-start; text-align: left; gap: 24px; }
  body.pz-studio .p-cta .p-btn { margin: 0; }
  body.pz-studio .p-footer-top { grid-template-columns: 1fr 1fr; gap: 32px 24px; padding: 50px 0 36px; }
  body.pz-studio .p-footer-brand { grid-column: 1/-1; }
  body.pz-studio .p-footer-contact { grid-column: 1/-1; }
  body.pz-studio .p-footer-bottom { padding-bottom: 84px; text-align: left; }
  body.pz-studio .p-whatsapp-float { bottom: 16px; left: 16px; }
  body.pz-studio .p-backtop { right: 16px; bottom: 16px; }
  body.pz-studio .pz-el-section > .elementor-container { gap: 30px; }
  body.pz-studio .pz-el-section > .elementor-container > .elementor-column { flex-basis: 100%; }
  body.pz-studio .pz-el-stats > .elementor-container { gap: 24px; }
  body.pz-studio .elementor-column:is(.pz-el-quote-card,.pz-el-info-card,.pz-el-list-card,.pz-el-scope-card) > .elementor-widget-wrap { margin: 0; }
}
@media (prefers-reduced-motion: reduce) {
  body.pz-studio *, body.pz-studio *::before, body.pz-studio *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}

/* Saved Elementor layout controls have higher specificity than theme defaults.
   Match those controls without touching their values or the widget content. */
body.pz-studio .elementor .elementor-element .p-directory-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
body.pz-studio .elementor .elementor-element .p-portfolio-grid.p-columns-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
body.pz-studio .elementor .elementor-element .p-posts { grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); }
body.pz-studio .p-icon svg { width: 22px; height: 22px; }
body.pz-studio .p-contact-section { background: #fff; }
body.pz-studio .p-contact-panel::after { content: none; }
body.pz-studio .p-contact-panel .p-kicker { color: var(--p-muted); background: transparent; }
body.pz-studio .p-contact-method { padding: 18px 0; border: 0; border-bottom: 1px solid var(--p-line); border-radius: 0; background: transparent; }
body.pz-studio .p-contact-method-actions a { border-radius: 3px; font-weight: 500; }
body.pz-studio .p-contact-method-actions .p-wa-link { background: #e4ecdf; color: #24472a; }
body.pz-studio .p-formidable-wrap :is(input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea) { border: 1px solid #bfc6bc !important; border-radius: 4px !important; box-shadow: none !important; }
body.pz-studio .p-formidable-wrap :is(input,select,textarea):focus { border-color: var(--p-blue) !important; box-shadow: 0 0 0 2px #e8edff !important; }
body.pz-studio .p-formidable-wrap :is(button,input[type=submit]) { border-radius: 4px !important; box-shadow: none !important; font-weight: 550 !important; }
body.pz-studio .p-formidable-wrap [aria-invalid=true] { border-color: #a32222 !important; }
body.pz-studio :is(.p-lp-visual,.p-lp-two>div,.p-lp-deliverables>article,.p-lp-tags span,.p-lp-scope li,.p-package-group-intro>aside,.p-package-steps article,.p-package-family-nav a) { border-radius: 4px; box-shadow: none; }
body.pz-studio .p-lp-card-grid > article > b { color: var(--p-blue); background: transparent; border-radius: 3px; border: 1px solid var(--p-line); }
body.pz-studio .p-lp-card-grid h3 { font-weight: 550; }
body.pz-studio .p-lp-assurances span { border-radius: 3px; background: transparent; }
body.pz-studio .p-package-group-intro > aside { background: #fff; border-color: var(--p-line); }
body.pz-studio .p-package-group-card::before { background: var(--p-blue); }
body.pz-studio .p-package-group-icon { border-radius: 4px; background: #f0f3ff; box-shadow: none; }
body.pz-studio :is(.p-package-group-card h2,.p-package-group-card h3,.p-package-combine h2,.p-package-group-intro h2,.p-package-detail-grid>article>h2) { font-weight: 550; }
body.pz-studio .p-whatsapp-float { left: auto; right: 22px; }
body.pz-studio .p-backtop { bottom: 88px; }
@media (max-width:680px) {
  body.pz-studio .elementor .elementor-element .p-directory-grid,
  body.pz-studio .elementor .elementor-element .p-portfolio-grid.p-columns-2,
  body.pz-studio .elementor .elementor-element .p-posts { grid-template-columns: 1fr; }
  body.pz-studio .p-footer-top.p-footer-cols-4 { grid-template-columns: 1fr 1fr; }
  body.pz-studio .p-whatsapp-float { left: 16px; right: auto; }
  body.pz-studio .p-backtop { bottom: 16px; }
}
body.pz-studio :is(.p-package-next,.p-quote-process,.p-lp-quote,.p-tech,.p-layout-dark,.pz-el-cta-section,.pz-el-contact-panel) :is(h1,h2,h3,h4,h5,h6,.elementor-heading-title) { color: #fff; }
body.pz-studio .p-package-directory { background: #fff; }
body.pz-studio .p-package-group-card::before,
body.pz-studio .p-package-hero-panel::after { content: none; }
body.pz-studio .p-package-chips i { border-radius: 3px; background: var(--p-soft); color: var(--p-muted); border-color: var(--p-line); font-weight: 500; }
body.pz-studio .p-package-details { border-radius: 0 0 4px 4px; font-weight: 550; }
body.pz-studio .p-package-summary { border-radius: 4px; box-shadow: none; }
body.pz-studio .p-package-summary > span { background: var(--p-dark); }
body.pz-studio .p-btn-whatsapp { box-shadow: none !important; }
