/* WordPress markup adapters; visual values come from the site's existing tokens. */
:root { scroll-behavior:smooth }
body { background:var(--background); color:var(--foreground); font-family:var(--font-sans); margin:0 }
button,input,select,textarea { font:inherit }
.gp-header {background:color-mix(in oklab,var(--background) 85%, transparent)}.gp-scrolled{border-color:var(--border);box-shadow:var(--shadow-card)}
.gp-dropdown{opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .2s,transform .2s}.gp-solutions:hover .gp-dropdown,.gp-solutions:focus-within .gp-dropdown{opacity:1;pointer-events:auto;transform:none}
.gp-mobile{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .3s, transform .3s,visibility .3s}.gp-mobile.gp-menu-open{visibility:visible;opacity:1;pointer-events:auto;transform:none}
.gp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:var(--radius);font-weight:600;line-height:1;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,transform .2s;padding:0 1rem;text-decoration:none}.gp-btn:hover{transform:translateY(-1px)}.gp-btn:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.gp-sm{min-height:2.25rem;font-size:.875rem}.gp-lg{min-height:2.75rem;font-size:.875rem}.gp-xl{min-height:3rem;padding:0 1.5rem;font-size:.875rem}.gp-icon{height:2.75rem;width:2.75rem;padding:0}.gp-brand{background:var(--brand);color:var(--brand-foreground)}.gp-brand:hover{background:var(--accent-foreground);color:var(--brand-foreground)}.gp-outline{border-color:var(--border);background:var(--background);color:var(--foreground)}.gp-outline:hover{background:var(--secondary)}.gp-ghost{color:var(--foreground)}.gp-ghost:hover{background:var(--secondary)}
.gp-menu-toggle{flex-shrink:0;display:inline-flex}.gp-extra-links{display:flex;gap:.5rem}.gp-extra-links a{font-size:.875rem;color:var(--foreground)}.gp-skip:focus{position:fixed;z-index:9999;top:8px;left:8px;background:var(--background);color:var(--foreground);padding:12px;width:auto;height:auto;clip:auto}
.gp-sticky-contact{position:fixed;right:1.25rem;bottom:1.25rem;z-index:45;display:flex;flex-direction:column;gap:.55rem}.gp-sticky-contact a{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:50%;background:var(--brand);color:var(--brand-foreground);box-shadow:var(--shadow-lift);transition:transform .2s}.gp-sticky-contact a:hover{transform:translateY(-3px)}.gp-sticky-contact a:last-child{background:var(--primary);color:var(--primary-foreground)}
.gp-accordion details{border-bottom:1px solid var(--border)}.gp-accordion summary{list-style:none;cursor:pointer;padding:1.25rem 0;font-weight:600}.gp-accordion summary::-webkit-details-marker{display:none}.gp-accordion summary:after{content:'+';float:right;font-size:1.25rem;font-weight:400}.gp-accordion details[open] summary:after{content:'−'}
.gp-form-field{display:flex;flex-direction:column;font-size:.875rem;font-weight:600;color:var(--foreground)}.gp-field{margin-top:.5rem;min-height:3rem;width:100%;border-radius:var(--radius);border:1px solid var(--input);background:var(--background);padding:.75rem;color:var(--foreground);outline:none}.gp-field:focus{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in oklab,var(--ring) 20%, transparent)}.gp-field::placeholder{color:var(--muted-foreground)}.gp-field-error{min-height:0;margin-top:.25rem;font-size:.75rem;color:var(--destructive)}.gp-field-error:empty{display:none}.gp-field[aria-invalid=true]{border-color:var(--destructive)}[hidden]{display:none!important}
.reveal{opacity:1;transform:none}@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}.reveal.revealed{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:1023px){.gp-sticky-contact{right:1rem;bottom:1rem}.gp-extra-links{display:none}}

/* WP admin bar and basic search/404 compatibility. */
.admin-bar .gp-header{top:32px}@media(max-width:782px){.admin-bar .gp-header{top:46px}}
.gp-form-field textarea{resize:vertical}.gp-form-field select{cursor:pointer}
