/* =========================================================
   PMS Pro 2.0 — navy, cream and green design.
   Palette: navy #1A2044 · cream #FBFAF9 · green #2E9F51.
   Fonts: Montserrat (headings, buttons) · Open Sans (body).
   Class hooks style the Elementor pages and templates; the Elementor
   Style panel can override any of them.
   ========================================================= */
:root{
  --pms-navy:#1A2044; --pms-navy-2:#232B57; --pms-navy-3:#121735;
  --pms-cream:#FBFAF9; --pms-white:#FFFFFF;
  --pms-green:#2E9F51; --pms-green-d:#258742; --pms-green-t:#E7F4EC;
  --pms-ink:#3D4360; --pms-muted:#6B7089; --pms-on-dark:#C9CDE0;
  --pms-line:#E7E5E1; --pms-line-d:rgba(255,255,255,.12);
  --pms-ice:#EEF1EC;
  --pms-display:"Montserrat",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --pms-font:"Open Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --pms-r:22px; --pms-wrap:1220px; --pms-gut:20px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;background:var(--pms-cream);color:var(--pms-ink);font:400 16px/1.7 var(--pms-font);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:var(--pms-green);text-decoration:none}
a:hover{color:var(--pms-green-d)}
h1,h2,h3,h4,h5,h6{font-family:var(--pms-display);color:var(--pms-navy);line-height:1.15;letter-spacing:-.01em}
:focus-visible{outline:3px solid var(--pms-green);outline-offset:3px;border-radius:6px}
.screen-reader-text,.skip-link{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.skip-link:focus{clip:auto;width:auto;height:auto;padding:10px 14px;background:#fff;color:var(--pms-navy);z-index:9999;top:8px;left:8px;border-radius:10px}

/* ---------- section backgrounds (set on Elementor sections) ---------- */
.e-con.pms-light{background:var(--pms-cream)}
.e-con.pms-tint{background:var(--pms-white)}
.e-con.pms-dark{background:var(--pms-navy)}
.e-con.pms-dark h1,.e-con.pms-dark h2,.e-con.pms-dark h3,.e-con.pms-dark h4{color:#fff}
.pms-dark .elementor-widget-text-editor{color:var(--pms-on-dark)}
.e-con.pms-dark .elementor-widget.pms-h2 .elementor-heading-title{color:#fff}
.e-con.pms-dark .elementor-widget.pms-eyebrow .elementor-heading-title{color:#5CC47C}
.pms-dark .pms-hl{color:var(--pms-green)}
.e-con.pms-dark .elementor-widget.pms-checklist .elementor-icon-list-text{color:#fff}
.e-con.pms-dark .elementor-widget.pms-checklist .elementor-icon-list-icon i{color:#5CC47C}
.pms-hl{color:var(--pms-green)}
.elementor-widget-text-editor p{margin:0 0 14px}
.elementor-widget-text-editor p:last-child{margin-bottom:0}

/* ---------- buttons ---------- */
.pms-button,.wp-block-button__link,input[type=submit],button.pms-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 15px/1 var(--pms-display);padding:16px 26px;border-radius:999px;border:1.5px solid transparent;cursor:pointer;background:var(--pms-green);color:#fff;transition:transform .15s,background .2s,color .2s,border-color .2s}
.pms-button:hover,input[type=submit]:hover{color:#fff;background:var(--pms-green-d);transform:translateY(-1px)}
.pms-button svg,.pms-drawer svg:not(.pms-burger svg):not(.pms-sub-toggle svg){width:16px;height:16px;flex:none}
.pms-button-outline{background:transparent;color:var(--pms-navy);border-color:var(--pms-navy)}
.pms-button-outline:hover{background:var(--pms-navy);color:#fff}
.pms-button-accent{background:var(--pms-green)}
.elementor-widget-button.pms-btn .elementor-button{font-family:var(--pms-display);font-weight:700;font-size:15px;line-height:1;padding:17px 28px;border-radius:999px;border:1.5px solid transparent;transition:transform .15s,background .2s,color .2s,border-color .2s}
.elementor-widget-button.pms-btn .elementor-button:hover{transform:translateY(-1px)}
.elementor-widget-button.pms-btn-primary .elementor-button{background:var(--pms-green);color:#fff}
.elementor-widget-button.pms-btn-primary .elementor-button:hover{background:var(--pms-green-d);color:#fff}
.elementor-widget-button.pms-btn-dark .elementor-button{background:var(--pms-navy);color:#fff}
.elementor-widget-button.pms-btn-dark .elementor-button:hover{background:var(--pms-green);color:#fff}
.elementor-widget-button.pms-btn-white .elementor-button{background:#fff;color:var(--pms-navy)}
.elementor-widget-button.pms-btn-white .elementor-button:hover{background:var(--pms-navy);color:#fff}
.elementor-widget-button.pms-btn-outline .elementor-button{background:transparent;color:var(--pms-navy);border-color:var(--pms-navy)}
.elementor-widget-button.pms-btn-outline .elementor-button:hover{background:var(--pms-navy);color:#fff}
.elementor-widget-button.pms-btn-outline-light .elementor-button{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.elementor-widget-button.pms-btn-outline-light .elementor-button:hover{background:#fff;color:var(--pms-navy)}
.pms-cta-box .elementor-widget-button.pms-btn-outline-light .elementor-button{color:var(--pms-navy);border-color:var(--pms-navy)}
.pms-cta-box .elementor-widget-button.pms-btn-outline-light .elementor-button:hover{background:var(--pms-navy);color:#fff}
.elementor-widget-button.pms-btn-sm .elementor-button{font-size:13.5px;padding:12px 18px}
.elementor-widget-button.pms-btn-link .elementor-button{background:none;padding:0;color:var(--pms-green);font-size:14.5px;border:0}
.elementor-widget-button.pms-btn-link .elementor-button:hover{color:var(--pms-green-d);transform:none}
.elementor-widget-button.pms-btn-link .elementor-button-icon{transition:transform .15s}
.elementor-widget-button.pms-btn-link .elementor-button:hover .elementor-button-icon{transform:translateX(3px)}
.elementor-widget-button.pms-more .elementor-button{color:var(--pms-navy)}
.elementor-widget-button.pms-more .elementor-button:hover{color:var(--pms-green)}
.pms-btn-row{align-items:center}

/* ---------- eyebrows and headings ---------- */
.elementor-widget.pms-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:10px;font-family:var(--pms-display);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--pms-green);line-height:1.3}
.elementor-widget.pms-eyebrow .elementor-heading-title::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}
.elementor-widget.pms-pill-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:9px;font-family:var(--pms-display);font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--pms-navy);background:#fff;border:1px solid var(--pms-line);padding:9px 16px;border-radius:999px;line-height:1.2}
.elementor-widget.pms-pill-eyebrow .elementor-heading-title::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pms-green)}
.elementor-widget.pms-h2 .elementor-heading-title{font-family:var(--pms-display);font-size:clamp(30px,3.6vw,46px);font-weight:800;line-height:1.12;color:var(--pms-navy)}
.elementor-widget.pms-hero-h1 .elementor-heading-title{font-family:var(--pms-display);font-size:clamp(40px,5vw,64px);font-weight:800;line-height:1.04;letter-spacing:-.025em;color:var(--pms-navy)}
.elementor-widget.pms-hero-title .elementor-heading-title{font-family:var(--pms-display);font-size:clamp(36px,4.6vw,60px);font-weight:800;line-height:1.08;letter-spacing:-.02em;color:#fff}
.elementor-widget.pms-head-sub{max-width:720px;margin:0 auto;text-align:center}
.elementor-widget.pms-head-sub p{font-size:17px;color:var(--pms-muted)}
.elementor-widget.pms-head .elementor-widget-heading{text-align:center}
.pms-dark .elementor-widget.pms-head-sub p{color:var(--pms-on-dark)}
.elementor-widget.pms-lead p,.elementor-widget.pms-lead{font-size:17px;line-height:1.75;color:var(--pms-muted)}
.pms-dark .elementor-widget.pms-lead p{color:var(--pms-on-dark)}
.elementor-widget.pms-hero-text p{font-size:18px;color:rgba(255,255,255,.82);max-width:680px}
.elementor-widget.pms-crumbs-w{width:100%}
.elementor-widget.pms-crumbs-w p{font-size:13.5px;color:rgba(255,255,255,.7);margin:0}
.pms-crumbs a{color:#fff}
.pms-crumbs a:hover{color:var(--pms-green)}
.pms-crumbs .current{color:#5CC47C;font-weight:600}
.pms-crumbs .sep{margin:0 6px;opacity:.6}

/* ---------- hero ---------- */
.pms-trust .elementor-icon-list-icon i,.pms-trust .elementor-icon-list-icon svg{color:var(--pms-green)}
.pms-trust .elementor-icon-list-text{font-size:14px;font-weight:600;color:var(--pms-navy)}
.pms-hero-visual{position:relative}
.pms-frame img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:28px;display:block}
.e-con.pms-float{background:#fff;border-radius:18px;border:1px solid rgba(26,32,68,.06);box-shadow:0 30px 60px -28px rgba(26,32,68,.35)}
.e-con.pms-float-top{position:absolute;top:28px;left:-18px;z-index:2;min-width:170px}
.e-con.pms-float-bot{position:absolute;bottom:26px;right:-18px;z-index:2;min-width:220px}
.elementor-widget.pms-float-num .elementor-heading-title{font-family:var(--pms-display);font-size:26px;font-weight:800;color:var(--pms-navy);line-height:1}
.elementor-widget.pms-float-text p{font-size:13px;color:var(--pms-muted);margin:0;line-height:1.4}
.elementor-widget.pms-float-icon .elementor-icon{width:44px;height:44px;border-radius:14px;background:var(--pms-green-t);color:var(--pms-green);font-size:18px;display:inline-flex;align-items:center;justify-content:center}

/* ---------- stats band ---------- */
.pms-stats-grid .elementor-widget{border-left:1px solid var(--pms-line-d);padding-left:24px}
.pms-stats-grid .elementor-widget:first-child{border-left:0;padding-left:0}
.pms-counter .elementor-counter-number-wrapper{font-family:var(--pms-display);font-size:clamp(40px,4.8vw,58px);font-weight:800;line-height:1;color:var(--pms-green)}
.pms-counter .elementor-counter-title{font-family:var(--pms-font);font-size:14.5px;color:#fff;margin-top:8px;opacity:.9}

/* ---------- about ---------- */
.elementor-widget-image.pms-photo img{width:100%;height:100%;object-fit:cover;border-radius:24px;display:block}
.elementor-widget-image.pms-tall img{aspect-ratio:3/4}
.elementor-widget-image.pms-short img{aspect-ratio:4/3}
.elementor-widget-image.pms-svc-photo img{aspect-ratio:16/9;border-radius:24px}
.e-con.pms-green-card{background:var(--pms-green);border-radius:24px;color:var(--pms-navy)}
.elementor-widget.pms-gc-title .elementor-heading-title{font-family:var(--pms-display);font-size:21px;font-weight:800;line-height:1.2;color:var(--pms-navy)}
.elementor-widget.pms-gc-text p{font-size:15px;color:var(--pms-navy);margin:0;font-weight:600}
.elementor-widget.pms-gc-icon .elementor-icon{font-size:26px;color:var(--pms-navy)}
.elementor-widget.pms-checklist .elementor-icon-list-icon i,.pms-checklist .elementor-icon-list-icon svg{color:var(--pms-green)}
.elementor-widget.pms-checklist .elementor-icon-list-text{font-weight:600;color:var(--pms-navy)}
.elementor-widget.pms-contact-list .elementor-icon-list-icon i{color:var(--pms-green)}
.elementor-widget.pms-contact-list .elementor-icon-list-text{color:var(--pms-ink)}
.pms-box-dark .elementor-widget.pms-contact-list .elementor-icon-list-text{color:#fff}
.pms-box-dark .elementor-widget.pms-contact-list .elementor-icon-list-icon i{color:#5CC47C}

/* ---------- service tiles ---------- */
.e-con.pms-tile{background:#fff;border:1px solid var(--pms-line);border-radius:var(--pms-r);overflow:hidden;transition:transform .2s,box-shadow .2s}
.e-con.pms-tile:hover{transform:translateY(-4px);box-shadow:0 30px 50px -34px rgba(26,32,68,.45)}
.elementor-widget-image.pms-tile-img{margin:0}
.elementor-widget-image.pms-tile-img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:0;display:block}
.elementor-widget.pms-tile-icon .elementor-icon{width:46px;height:46px;border-radius:14px;background:var(--pms-green-t);color:var(--pms-green);font-size:19px;display:inline-flex;align-items:center;justify-content:center}
.elementor-widget.pms-tile-title .elementor-heading-title{font-family:var(--pms-display);font-size:18px;font-weight:700;line-height:1.3;color:var(--pms-navy)}
.elementor-widget.pms-tile-text p{font-size:14.5px;line-height:1.6;color:var(--pms-muted);margin:0}
.pms-tile-actions .elementor-widget{width:auto}

/* ---------- why ---------- */
.elementor-widget.pms-why{background:#fff;border:1px solid var(--pms-line);border-radius:20px;padding:26px;height:100%;transition:box-shadow .2s,transform .2s}
.elementor-widget.pms-why:hover{transform:translateY(-3px);box-shadow:0 24px 44px -32px rgba(26,32,68,.45)}
.elementor-widget.pms-why .elementor-icon-box-icon .elementor-icon{width:48px;height:48px;border-radius:14px;background:var(--pms-green-t);color:var(--pms-green);font-size:19px;display:inline-flex;align-items:center;justify-content:center}
.elementor-widget.pms-why .elementor-icon-box-title{font-family:var(--pms-display);font-size:17px;font-weight:700;color:var(--pms-navy);margin:0 0 6px}
.elementor-widget.pms-why .elementor-icon-box-description{font-size:14.5px;color:var(--pms-muted);line-height:1.6}
.pms-why-row .elementor-icon-box-wrapper{align-items:flex-start}

/* ---------- process ---------- */
.e-con.pms-stepcard{background:rgba(255,255,255,.05);border:1px solid var(--pms-line-d);border-radius:var(--pms-r);min-height:230px}
.e-con.pms-stepcard>.elementor-widget{margin:0!important}
.elementor-widget.pms-bignum .elementor-heading-title{font-family:var(--pms-display);font-size:50px;font-weight:800;line-height:1;color:var(--pms-green)}
.elementor-widget.pms-step-title .elementor-heading-title{font-family:var(--pms-display);font-size:20px;font-weight:700;color:#fff}
.elementor-widget.pms-step-text p{font-size:14.5px;color:var(--pms-on-dark);margin:0;line-height:1.6}

/* ---------- clients ---------- */
.e-con.pms-ind{border-radius:var(--pms-r);overflow:hidden;position:relative}
.elementor-widget.pms-ind-label .elementor-heading-title{font-family:var(--pms-display);font-size:18px;font-weight:700;color:#fff;line-height:1.3}
.elementor-widget-image.pms-logo{background:#fff;border:1px solid var(--pms-line);border-radius:16px;padding:14px;transition:box-shadow .2s,transform .2s}
.elementor-widget-image.pms-logo:hover{box-shadow:0 20px 40px -30px rgba(26,32,68,.45);transform:translateY(-2px)}
.elementor-widget-image.pms-logo img{max-height:64px;width:auto;margin:0 auto;object-fit:contain}

/* ---------- FAQ (nested accordion) ---------- */
.elementor-widget.pms-faq .e-n-accordion-item{background:#fff;border:1px solid var(--pms-line);border-radius:16px;margin-bottom:12px;overflow:hidden}
.elementor-widget.pms-faq .e-n-accordion-item-title{padding:18px 22px}
.elementor-widget.pms-faq .e-n-accordion-item-title-text{font-family:var(--pms-display);font-size:16px;font-weight:700;color:var(--pms-navy)}
.elementor-widget.pms-faq .e-n-accordion-item-title-icon{color:var(--pms-green)}
.elementor-widget.pms-faq .e-n-accordion-item-title:hover .e-n-accordion-item-title-text{color:var(--pms-green)}
.elementor-widget.pms-faq .e-n-accordion-item-content p{font-size:15px;color:var(--pms-muted);margin:0}
.elementor-widget.pms-faq .e-n-accordion-item>div[role=region]{padding:2px 22px 20px}

/* ---------- final CTA ---------- */
.e-con.pms-cta-box{background:var(--pms-green);border-radius:30px;color:var(--pms-navy)}
.elementor-widget.pms-cta-title .elementor-heading-title{font-family:var(--pms-display);font-size:clamp(28px,3.4vw,44px);font-weight:800;line-height:1.15;color:var(--pms-navy)}
.elementor-widget.pms-cta-text{max-width:700px}
.elementor-widget.pms-cta-text p{font-size:17px;color:var(--pms-navy);text-align:center;margin:0}

/* ---------- page hero (inner pages) ---------- */
.e-con.pms-page-hero{background-color:var(--pms-navy)}
.e-con.pms-page-hero .elementor-widget.pms-eyebrow .elementor-heading-title{color:#5CC47C}

/* ---------- service pages ---------- */
.elementor-widget.pms-group-title .elementor-heading-title{font-family:var(--pms-display);font-size:19px;font-weight:700;color:var(--pms-navy);margin-top:12px}
.pms-checks{list-style:none;margin:0 0 10px;padding:0}
.pms-checks li{position:relative;padding:9px 0 9px 26px;border-bottom:1px dashed var(--pms-line);font-size:15px;color:var(--pms-ink)}
.pms-checks li:last-child{border-bottom:0}
.pms-checks li::before{content:"";position:absolute;left:2px;top:17px;width:10px;height:10px;border-radius:50%;background:var(--pms-green)}
.pms-checks strong{color:var(--pms-navy)}
.elementor-widget.pms-mini{background:#fff;border:1px solid var(--pms-line);border-radius:18px;padding:22px}
.elementor-widget.pms-mini .elementor-icon-box-icon .elementor-icon{color:var(--pms-green);font-size:20px}
.elementor-widget.pms-mini .elementor-icon-box-title{font-family:var(--pms-display);font-size:16px;color:var(--pms-navy);margin:6px 0 4px}
.elementor-widget.pms-mini .elementor-icon-box-description{font-size:14px;color:var(--pms-muted)}
.elementor-widget.pms-box-title .elementor-heading-title{font-family:var(--pms-display);font-size:18px;font-weight:700;color:var(--pms-navy)}
.elementor-widget.pms-box-title.pms-box-title-light .elementor-heading-title{color:#fff}
.e-con.pms-box{background:#fff;border:1px solid var(--pms-line);border-radius:22px}
.e-con.pms-box-dark{background:var(--pms-navy);border-color:transparent}
.pms-box-dark .elementor-widget-heading .elementor-heading-title{color:#fff}
.pms-box-dark .elementor-widget-text-editor{color:var(--pms-on-dark)}
.pms-aside .elementor-widget-button .elementor-button{width:100%}

/* ---------- quote blockquote & mission cards ---------- */
.elementor-widget.pms-quote{text-align:center;max-width:900px;margin:0 auto 44px}
.elementor-widget.pms-quote blockquote{margin:0;border:0;font-family:var(--pms-display);font-size:clamp(22px,2.6vw,32px);font-weight:700;line-height:1.35;color:var(--pms-navy);padding:0}
.e-con.pms-mv{background:#fff;border:1px solid var(--pms-line);border-radius:var(--pms-r)}
.e-con.pms-mv-dark{background:var(--pms-navy);border-color:transparent}
.elementor-widget.pms-mv-icon .elementor-icon{width:56px;height:56px;border-radius:16px;background:var(--pms-green);color:var(--pms-navy);font-size:22px;display:inline-flex;align-items:center;justify-content:center}
.elementor-widget.pms-mv-title .elementor-heading-title{font-family:var(--pms-display);font-size:24px;font-weight:800;color:var(--pms-navy)}
.pms-mv-dark .elementor-widget.pms-mv-title .elementor-heading-title{color:#fff}
.elementor-widget.pms-mv-text p{font-size:16px;color:var(--pms-muted);margin:0}
.pms-mv-dark .elementor-widget.pms-mv-text p{color:var(--pms-on-dark)}

/* ---------- footer wordmark ---------- */
.pms-ftr .elementor-widget.pms-wordmark .elementor-heading-title{font-family:var(--pms-display);font-size:clamp(130px,36vw,480px);font-weight:800;line-height:.8;letter-spacing:-.04em;color:var(--pms-green);margin:0;white-space:nowrap}
.pms-ftr .pms-brand b{color:#fff}
.pms-ftr .pms-brand span{color:var(--pms-on-dark)}

/* ---------- Elementor header (Theme Builder or template) ---------- */
.pms-hdr{position:relative;z-index:999;background-color:transparent}
.pms-hdr-brand .pms-brand b{font-size:26px}
.pms-hdr-brand .elementor-widget.pms-el-tagline .elementor-heading-title{font-family:var(--pms-font);font-size:11.5px;font-weight:600;color:var(--pms-muted);margin:0}
.pms-hdr-nav{flex:1 1 auto;min-width:0;justify-content:center!important}
.pms-hdr-btns{flex:0 0 auto}
.pms-hdr-nav .elementor-widget-nav-menu{width:100%}
.pms-hdr-btns .elementor-widget{width:auto}
.pms-pro-nav .elementor-nav-menu--main .elementor-item{font-family:var(--pms-display)}
.pms-pro-nav .elementor-nav-menu--main .elementor-item:hover,.pms-pro-nav .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var(--pms-green)}
.pms-pro-nav .elementor-menu-toggle{border:1px solid var(--pms-line)}
/* Header: transparent at the top, white once the page scrolls (or when Pro marks it sticky). */
@keyframes pms-hdr-solid{
  from{background-color:transparent;box-shadow:none}
  to{background-color:#FFFFFF;box-shadow:0 14px 30px -26px rgba(26,32,68,.4)}
}
@supports (animation-timeline:scroll()){
  .pms-hdr,.pms-header{animation:pms-hdr-solid linear both;animation-timeline:scroll(root block);animation-range:0px 120px}
}
.pms-hdr.elementor-sticky--active,.elementor-sticky--active.pms-hdr{background-color:#FFFFFF;box-shadow:0 14px 30px -26px rgba(26,32,68,.4)}

/* ---------- Elementor footer ---------- */
.pms-ftr{background:var(--pms-navy-3)}
.pms-ftr .elementor-widget-heading .elementor-heading-title{color:#fff}
.pms-ftr-text p{color:var(--pms-on-dark);font-size:14.5px;margin:0 0 4px}
.pms-ftr-strong p{color:#fff}
.pms-ftr-title .elementor-heading-title{font-family:var(--pms-display);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.elementor-widget.pms-ftr-links .elementor-icon-list-icon{display:none}
.elementor-widget.pms-ftr-links .elementor-icon-list-item{padding:0}
.elementor-widget.pms-ftr-links .elementor-icon-list-text,.elementor-widget.pms-ftr-links a{color:var(--pms-on-dark);font-size:14.5px;line-height:1.55;transition:color .15s}
.elementor-widget.pms-ftr-links a:hover{color:var(--pms-green)}
.pms-ftr-social .elementor-social-icon{background:transparent!important;border:1px solid rgba(255,255,255,.22);width:42px;height:42px}
.pms-ftr-social .elementor-social-icon:hover{background:var(--pms-green)!important;border-color:var(--pms-green)}
.pms-ftr-social .elementor-social-icon i{color:#fff}
.pms-ftr-legal a{color:var(--pms-on-dark)}
.pms-ftr-legal a:hover{color:var(--pms-green)}

/* ---------- fallback header (theme header, no Elementor) ---------- */
.pms-header{position:sticky;top:0;z-index:999;background-color:transparent}
.pms-wrap{width:min(var(--pms-wrap),100% - 2*var(--pms-gut));margin:0 auto}
.pms-header .pms-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0}
.pms-brand-wrap{display:flex;flex-direction:column;gap:2px}
.pms-brand{display:inline-flex;align-items:baseline;gap:10px;color:var(--pms-navy);font-family:var(--pms-display);text-decoration:none}
.pms-brand b{font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--pms-navy)}
.pms-brand span{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--pms-muted);line-height:1.3;max-width:200px}
.custom-logo-link img{max-height:64px;width:auto}
.pms-tagline{font-size:11px;color:var(--pms-muted)}
.pms-navbar{display:flex;align-items:center;gap:12px}
.pms-nav ul{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.pms-nav a{display:inline-flex;align-items:center;gap:4px;padding:10px 13px;white-space:nowrap;font:600 14px/1 var(--pms-display);color:var(--pms-navy);border-radius:999px}
.pms-nav a:hover,.pms-nav .current-menu-item>a,.pms-nav .current_page_item>a{color:var(--pms-green)}
.pms-nav .sub-menu,.pms-nav .children{position:absolute;top:calc(100% + 10px);left:0;transform:translateY(6px);min-width:300px;background:#fff;border:1px solid var(--pms-line);border-radius:18px;box-shadow:0 28px 60px -24px rgba(26,32,68,.4);padding:8px;opacity:0;visibility:hidden;transition:opacity .15s,transform .15s,visibility .15s;z-index:20}
.pms-nav .sub-menu,.pms-nav .children{display:flex;flex-direction:column;align-items:stretch;gap:2px;min-width:300px}
.pms-nav .sub-menu a,.pms-nav .children a{display:block;padding:11px 14px;border-radius:12px;white-space:normal}
.pms-nav li{position:relative}
.pms-nav li:hover>.sub-menu,.pms-nav li:focus-within>.sub-menu,.pms-nav li:hover>.children{opacity:1;visibility:visible;transform:none}
.pms-header-cta{display:flex;align-items:center;gap:10px}
.pms-burger{display:none;width:46px;height:46px;border-radius:14px;border:1px solid var(--pms-line);background:#fff;color:var(--pms-navy);align-items:center;justify-content:center;cursor:pointer}
.pms-burger svg{width:22px;height:22px}
.pms-burger .i-close{display:none}
body.pms-menu-open .pms-burger .i-menu{display:none}
body.pms-menu-open .pms-burger .i-close{display:block}
.pms-drawer{display:none}

/* ---------- fallback footer (theme footer, no Elementor) ---------- */
.pms-footer{background:var(--pms-navy-3);color:var(--pms-on-dark)}
.pms-footer .pms-wrap{padding-top:64px}
.pms-footer .pms-brand b{color:#fff}
.pms-footer .pms-brand span{color:var(--pms-on-dark)}
.pms-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid var(--pms-line-d)}
.pms-footer h2{color:#fff;font:700 13px/1 var(--pms-display);letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px}
.pms-footer-about,.pms-footer-tag,.pms-footer-hours{font-size:14.5px;color:var(--pms-on-dark);margin:14px 0 0}
.pms-footer-contact{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pms-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pms-footer ul a,.pms-footer-contact a,.pms-menu-list a{color:var(--pms-on-dark);font-size:14.5px}
.pms-footer a:hover{color:var(--pms-green)}
.pms-social{display:flex;gap:10px}
.pms-social a{display:inline-flex;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.22);align-items:center;justify-content:center;color:#fff}
.pms-social a:hover{background:var(--pms-green);border-color:var(--pms-green)}
.pms-social svg{width:17px;height:17px}
.pms-footer-bottom{padding:20px 0;font-size:13.5px}
.pms-footer-bottom .pms-wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.pms-footer-bottom a{color:var(--pms-on-dark)}
.pms-legal{display:flex;gap:16px}

/* ---------- services menu (shortcode, sidebar) ---------- */
.pms-services-menu{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pms-services-menu a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:var(--pms-cream);color:var(--pms-navy);font:600 14px/1.35 var(--pms-font)}
.pms-services-menu a:hover{background:var(--pms-green-t);color:var(--pms-green)}
.pms-services-menu a[aria-current=page]{background:var(--pms-green);color:var(--pms-navy)}
.pms-services-menu svg{width:15px;height:15px;flex:none}

/* ---------- WordPress generic templates ---------- */
.pms-main{min-height:60vh}
.pms-content-area{padding:72px 0}
.pms-page-head{padding:64px 0 24px}
.pms-page-head h1{font-size:clamp(32px,4vw,50px)}
.entry-content{font-size:16px}
.entry-content>*+*{margin-top:1.1em}
.pms-post-card{background:#fff;border:1px solid var(--pms-line);border-radius:var(--pms-r);padding:26px;margin-bottom:22px}
.pms-404{text-align:center;padding:96px 0}
.pms-404 h1{font-size:clamp(40px,6vw,72px)}
.pms-meta{font-size:13.5px;color:var(--pms-muted)}
.pms-pagination{margin-top:30px}
.pms-pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}
.pms-pagination .page-numbers{padding:10px 16px;border-radius:999px;border:1px solid var(--pms-line);background:#fff;color:var(--pms-navy);font-weight:700}
.pms-pagination .page-numbers.current{background:var(--pms-navy);border-color:var(--pms-navy);color:#fff}
.pms-sidebar{background:#fff;border:1px solid var(--pms-line);border-radius:var(--pms-r);padding:22px}
.widget-title{font-family:var(--pms-display);font-size:18px}
.comments-area{margin-top:48px}

/* ---------- forms (quote, wizard, careers) ---------- */
.pms-form{background:#fff;border:1px solid var(--pms-line);border-radius:28px;padding:30px;box-shadow:0 40px 80px -50px rgba(0,0,0,.5)}
.pms-fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pms-field{display:grid;gap:7px;align-content:start}
.pms-field>label,.pms-field>.pms-label{font-size:13.5px;font-weight:700;color:var(--pms-navy)}
.pms-field textarea{min-height:110px;resize:vertical}
.pms-field.has-error input,.pms-field.has-error select,.pms-field.has-error textarea{border-color:#d33c3c}
.pms-field .pms-err{font-size:12px;color:#c43232}
.pms-form .pms-button[type=submit],.pms-form .pms-button{width:100%;margin-top:18px;padding-block:16px}
.pms-form .pms-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
input[type=text],input[type=email],input[type=tel],input[type=search],input[type=url],input[type=number],input[type=date],input[type=password],textarea,select{font:500 15px var(--pms-font);color:var(--pms-navy);border:1px solid #D5D3CD;border-radius:14px;padding:13px 15px;background:#fff;width:100%;max-width:100%}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--pms-green);box-shadow:0 0 0 3px rgba(46,159,81,.18)}
.pms-notice{border-radius:16px;padding:14px 16px;margin-bottom:16px;font-weight:600;font-size:14.5px}
.pms-notice.ok{background:#E7F4EC;color:#14532B;border:1px solid #BFE3CB}
.pms-notice.bad{background:#fdecec;color:#9b2323;border:1px solid #f4c7c7}
.pms-wiz-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.pms-wiz-head strong{font-family:var(--pms-display);font-size:20px;color:var(--pms-navy);font-weight:800}
.pms-wiz-count{font-size:12.5px;font-weight:700;color:var(--pms-muted);white-space:nowrap}
.pms-wiz-bar{height:6px;background:var(--pms-ice);border-radius:999px;overflow:hidden;margin-bottom:24px}
.pms-wiz-bar span{display:block;height:100%;width:33.33%;background:var(--pms-green);border-radius:999px;transition:width .3s}
.pms-choice{display:flex;flex-wrap:wrap;gap:8px}
.pms-choice label{position:relative;cursor:pointer}
.pms-choice input{position:absolute;opacity:0;width:1px;height:1px}
.pms-choice span{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:1px solid #D5D3CD;border-radius:999px;font-size:14px;font-weight:600;color:var(--pms-navy);background:#fff;transition:all .15s}
.pms-choice label:hover span{border-color:var(--pms-green)}
.pms-choice input:checked+span{background:var(--pms-navy);border-color:var(--pms-navy);color:#fff}
.pms-choice input:focus-visible+span{outline:3px solid var(--pms-green);outline-offset:2px}
.pms-wiz-nav{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.pms-wiz-nav .pms-button{margin:0!important;width:auto!important;padding:15px 28px!important}
.pms-wiz-note{margin:14px 0 0;font-size:12.5px;color:var(--pms-muted)}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .pms-header-cta .pms-button-outline{display:none}
  .pms-footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:1024px){
  .pms-navbar .pms-nav{display:none}
  .pms-burger{display:inline-flex}
  .pms-header-cta{display:none}
  .pms-hdr-btns{display:none}
  .pms-drawer{display:block;position:fixed;left:0;right:0;bottom:0;top:78px;background:var(--pms-navy);z-index:998;overflow:auto;padding:14px var(--pms-gut) calc(28px + env(safe-area-inset-bottom,0px));transform:translateX(100%);transition:transform .25s ease;visibility:hidden}
  .pms-drawer.is-open{transform:none;visibility:visible}
  .pms-drawer nav ul{list-style:none;margin:0;padding:0}
  .pms-drawer nav a{display:block;padding:14px 4px;border-bottom:1px solid var(--pms-line-d);font:700 17px var(--pms-display);color:#fff}
  .pms-drawer nav a:hover{color:var(--pms-green)}
  .pms-drawer nav .sub-menu{display:none;padding-left:14px}
  .pms-drawer nav li{position:relative}
  .pms-drawer nav li.is-open>.sub-menu{display:block}
  .pms-sub-toggle{position:absolute;right:0;top:8px;width:40px;height:40px;background:none;border:0;color:#fff;cursor:pointer}
  .pms-drawer .pms-button{margin-top:14px;width:100%}
  .pms-drawer .pms-button-outline{color:#fff;border-color:#fff}
  .pms-drawer-contact{display:grid;gap:8px;margin-top:22px}
  .pms-drawer-contact a{color:var(--pms-on-dark);font-size:15px}
  .pms-drawer-contact a:hover{color:var(--pms-green)}
  .pms-wiz-nav .pms-button{flex:1}
  .pms-float-bot{display:none}
}
@media (max-width:767px){
  :root{--pms-gut:16px}
  .pms-el-tagline,.pms-tagline{display:none}
  .pms-brand b{font-size:22px}
  .pms-brand span{font-size:10px}
  .pms-footer-grid{grid-template-columns:1fr;gap:30px}
  .pms-footer-bottom .pms-wrap{flex-direction:column}
  .pms-fgrid{grid-template-columns:1fr}
  .pms-form{padding:22px;border-radius:22px}
  .pms-wiz-nav .pms-button{flex:1}
  .pms-frame img{aspect-ratio:4/3}
  .pms-stats-grid .elementor-widget{border-left:0;padding-left:0}
  .pms-ftr .elementor-widget.pms-wordmark .elementor-heading-title{font-size:42vw}
  .e-con.pms-float-top{min-width:0;left:12px;top:12px}
  .e-con.pms-cta-box{border-radius:22px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---------- WordPress core classes (Theme Check recommendations) ---------- */
.sticky,.bypostauthor{display:block}
.alignleft{float:left;margin:0 1.5em 1em 0}
.alignright{float:right;margin:0 0 1em 1.5em}
.aligncenter{display:block;margin:0 auto 1em}
.wp-caption{max-width:100%}
.wp-caption-text,.gallery-caption{font-size:13px;color:var(--pms-muted);text-align:center}
