/* Scoped components inherit the existing brand fonts. No logo or global font replacement. */
:root{--pm-cream:var(--paper,#f8f5ef);--pm-navy:var(--navy,#071b3d);--pm-gold:var(--gold,#c89b4a);--pm-line:rgba(7,27,61,.18);--pm-muted:#566277;--pm-heading:var(--serif,"Cormorant Garamond",Georgia,serif)}
.pm-mega,.pm-services,.pm-callback{box-sizing:border-box;color:var(--pm-navy)}
.pm-mega *,.pm-services *,.pm-callback *{box-sizing:border-box}
.pm-mega [hidden],.pm-services [hidden],.pm-callback [hidden]{display:none!important}
.pm-mega{position:absolute;inset:100% 0 auto;background:var(--pm-cream);padding:36px clamp(24px,5vw,90px) 40px;box-shadow:0 16px 25px #071b3d1a;border-top:1px solid var(--pm-line);z-index:40;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;max-height:calc(100dvh - 90px);overflow:auto;text-align:left}
.pm-mega h3{font-family:var(--pm-heading);font-size:1.6rem;font-weight:500;line-height:1.2;margin:0 0 18px;color:var(--pm-navy)}
.pm-mega a{display:block;font-family:inherit;font-size:.9375rem;line-height:1.5;min-height:44px;padding:9px 0;color:var(--pm-navy);white-space:normal;text-transform:none;letter-spacing:normal}
.pm-mega a:hover{text-decoration:underline;text-underline-offset:5px}
.pm-mega .pm-view-all{margin-top:12px;border-top:1px solid var(--pm-line);padding-top:18px;font-weight:600}
.pm-mega .pm-view-all span{color:var(--pm-gold);margin-left:12px;display:inline}
.pm-services{background:var(--pm-cream);padding:45px 0 75px;scroll-margin-top:90px}
.pm-services-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:45px;align-items:start}
.pm-filters{border-top:1px solid var(--pm-gold);padding-top:24px;position:sticky;top:92px}
.pm-filters h2{font-family:var(--pm-heading);font-size:1.6rem;margin:0 0 22px}
.pm-filters fieldset{border:0;margin:0;padding:0}.pm-filters legend{font-size:.875rem;font-weight:600;margin-bottom:12px}
.pm-filters label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:.9375rem;cursor:pointer}
.pm-filters input{width:18px;height:18px;accent-color:var(--pm-navy);flex:none}
.pm-reset{display:block;background:none;border:0;border-bottom:1px solid var(--pm-navy);padding:9px 0;margin-top:15px;font:inherit;color:var(--pm-navy);cursor:pointer;min-height:44px}
.pm-services-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:23px;font-size:.875rem}
.pm-sort{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pm-sort select{max-width:100%;min-height:44px;border:1px solid var(--pm-line);background:transparent;padding:8px 30px 8px 12px;color:var(--pm-navy);font:inherit}
.pm-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.pm-service-card{border:1px solid var(--pm-line);padding:30px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;scroll-margin-top:90px;background:var(--pm-cream)}
.pm-service-card .pm-service-category{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;line-height:1.6;color:var(--pm-muted);margin:0 0 19px}
.pm-service-card h2{font-family:var(--pm-heading);font-size:1.8rem;line-height:1.15;font-weight:500;margin:0 0 17px;overflow-wrap:anywhere}
.pm-service-card p:not(.pm-service-category){font-size:1rem;line-height:1.75;margin:0 0 28px;color:var(--pm-muted)}
.pm-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:1px solid var(--pm-navy);background:var(--pm-navy);color:#fff;min-height:46px;padding:10px 24px;font:inherit;font-size:.9375rem;line-height:1.5;text-decoration:none;cursor:pointer;border-radius:0}
.pm-button:hover{background:#102f63;color:#fff}.pm-service-card .pm-button{margin-top:auto}.pm-load-more{display:flex;margin:36px auto 0;background:transparent;color:var(--pm-navy)}
.pm-empty{padding:32px;border:1px solid var(--pm-line);font-size:1rem}
.pm-callback{position:fixed;inset:0;width:600px;max-width:calc(100vw - 40px);height:fit-content;max-height:calc(100dvh - 40px);margin:auto;padding:58px 66px 43px;border:0;background:var(--pm-cream);overflow:auto;overscroll-behavior:contain;border-radius:0;box-shadow:0 25px 90px #0005;opacity:0;transform:translateY(14px);transition:opacity .2s ease,transform .2s ease}
.pm-callback[open].pm-visible{opacity:1;transform:translateY(0)}.pm-callback::backdrop{background:rgba(0,0,0,.76)}
.pm-close{position:absolute;right:20px;top:18px;width:44px;height:44px;display:grid;place-items:center;background:transparent;border:0;color:var(--pm-gold);cursor:pointer;padding:0}.pm-close svg{width:36px;height:36px;stroke:currentColor;stroke-width:1.1;fill:none}
.pm-callback h2{font:500 2rem/1.15 var(--pm-heading);text-align:center;color:var(--pm-gold);margin:0 0 34px}.pm-callback h2:after{display:none}
.pm-field{margin-bottom:23px}.pm-field>label{display:block;font-size:1rem;line-height:1.5;color:#6b7280;margin-bottom:10px}
.pm-field input,.pm-field select{width:100%;min-width:0;height:48px;border:0;border-bottom:1px solid rgba(7,27,61,.28);border-radius:0;background:transparent;color:var(--pm-navy);font:inherit;font-size:1rem;padding:8px 1px;outline-offset:3px;box-shadow:none}
.pm-field input::placeholder{color:#657184}.pm-phone-row{display:grid;grid-template-columns:146px minmax(0,1fr);gap:12px}.pm-phone-row select{padding-right:5px}.pm-custom-code{margin-top:8px}
.pm-consent{display:flex;align-items:flex-start;gap:13px;font-size:.8125rem;line-height:1.65;margin:31px 0 0;cursor:pointer;color:var(--pm-muted)}.pm-consent input{width:19px;height:19px;flex:none;margin:2px 0 0;accent-color:var(--pm-navy)}
.pm-callback a{color:var(--pm-gold);text-decoration:underline;text-underline-offset:3px}.pm-callback .pm-consent a{display:inline-block;position:relative;z-index:1}.pm-callback .pm-submit{display:flex;margin:34px auto 0;min-width:160px;background:transparent;border-color:var(--pm-gold);color:var(--pm-gold)}.pm-callback .pm-submit:hover{background:rgba(200,155,74,.08);color:var(--pm-gold)}
.pm-error{display:block;color:#a12f2a;font-size:.8125rem;line-height:1.5;margin:6px 0 0}.pm-callback [aria-invalid=true]{border-color:#a12f2a}.pm-status{font-size:.875rem;line-height:1.6;margin:18px 0 0;color:var(--pm-muted)}.pm-status:empty{display:none}.pm-preview-note{font-size:.75rem;line-height:1.6;color:var(--pm-muted);text-align:center;margin:20px 0 0}
.pm-success p{font-size:1.125rem;line-height:1.9;margin-bottom:24px;color:var(--pm-navy)}.pm-success .pm-button{margin-top:10px;background:var(--pm-navy);border-color:var(--pm-navy);color:#fff;min-width:225px}.pm-success .pm-button:hover{background:#102f63;color:#fff}.pm-success:focus{outline:none}
.pm-mega a:focus-visible,.pm-services :focus-visible,.pm-callback :focus-visible{outline:2px solid var(--pm-gold);outline-offset:4px}.pm-callback button:disabled{opacity:.65;cursor:wait}
html.pm-dialog-open{overflow:hidden;scrollbar-gutter:stable}
@media(max-width:600px){html.pm-dialog-open{scrollbar-gutter:auto}}
@media(max-width:1000px){.pm-mega{gap:22px;padding-inline:25px}.pm-services-layout{grid-template-columns:200px minmax(0,1fr);gap:26px}.pm-service-card{padding:23px}}
@media(max-width:850px){.pm-mega{position:static;grid-template-columns:repeat(2,minmax(0,1fr));box-shadow:none;padding:25px 12px;max-height:none;gap:28px}.main-nav.is-open{max-height:calc(100dvh - 60px);overflow:auto;overscroll-behavior:contain}.pm-services-layout{grid-template-columns:1fr}.pm-filters{position:static}.pm-filter-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.pm-filters h2{margin-bottom:15px}}
@media(max-width:600px){.pm-mega{grid-template-columns:1fr}.pm-mega h3{margin-bottom:10px}.pm-service-grid{grid-template-columns:1fr}.pm-services-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.pm-services{padding-top:25px}.pm-service-card{padding:28px}.pm-callback{inset:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:calc(65px + env(safe-area-inset-top)) 26px calc(35px + env(safe-area-inset-bottom));transform:translateY(22px)}.pm-close{top:calc(10px + env(safe-area-inset-top));right:14px}.pm-callback h2{font-size:2rem;margin-bottom:34px}.pm-field{margin-bottom:25px}.pm-callback form,.pm-success{max-width:410px;margin-inline:auto}.pm-phone-row{grid-template-columns:112px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.pm-callback{transition:none;transform:none}}
