:root{--background:0 0% 100%;--foreground:222.2 84% 4.9%;--card:0 0% 100%;--card-foreground:222.2 84% 4.9%;--primary:24.9 95.3% 50%;--primary-foreground:210 40% 98%;--secondary:222.2 47.4% 11.2%;--secondary-foreground:210 40% 98%;--muted:215.4 16.3% 46.9%;--muted-foreground:215.4 16.3% 46.9%;--accent:210 40% 96.1%;--accent-foreground:222.2 47.4% 11.2%;--border:214.3 31.8% 91.4%;--ring:24.9 95.3% 50%;}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:hsl(var(--background));color:hsl(var(--foreground));}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(255,255,255,.85);border-bottom:1px solid hsl(var(--border)/.1);transition:all .3s;box-shadow:0 1px 3px rgba(0,0,0,.08)}.site-header .header-inner{height:70px;transition:all .3s}.site-header.is-scrolled .header-inner{height:38px}.site-header img.logo{height:4.2rem;transition:all .3s}.site-header.is-scrolled img.logo{height:1.75rem}.wp-menu{display:flex;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0}.wp-menu a{display:block;padding:.5rem 1.25rem;border-radius:9999px;font-size:.875rem;font-weight:700;text-transform:uppercase;color:hsl(var(--foreground)/.7);text-decoration:none}.wp-menu a:hover,.wp-menu .current-menu-item>a{background:hsl(var(--primary));color:#fff}.mobile-toggle{display:none}.mobile-menu{position:fixed;inset:0 0 0 auto;width:18rem;background:#fff;z-index:60;transform:translateX(100%);transition:.25s;padding:1.5rem;box-shadow:-10px 0 40px rgba(0,0,0,.15)}.mobile-menu-open .mobile-menu{transform:translateX(0)}.mobile-menu ul{list-style:none;padding:0;margin:2rem 0}.mobile-menu a{display:block;padding:.85rem 1rem;border-radius:.75rem;text-transform:uppercase;font-weight:700;color:hsl(var(--foreground));text-decoration:none}.mobile-menu a:hover{background:hsl(var(--border)/.4)}.animate-in{opacity:0;transform:translateY(2rem);transition:all .7s}.animate-in.visible{opacity:1;transform:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:3rem;padding:0 1.75rem;border-radius:9999px;font-weight:700;text-decoration:none;transition:.2s}.btn-primary{background:hsl(var(--primary));color:#fff}.btn-primary:hover{background:hsl(var(--primary)/.9)}.btn-outline{border:1px solid rgba(255,255,255,.35);color:#fff}.btn-outline:hover{background:rgba(255,255,255,.1)}.service-check{color:hsl(var(--primary));font-weight:900;margin-top:.1rem}.accordion-content{display:none}.accordion-item.open .accordion-content{display:block}.accordion-trigger{width:100%;text-align:left;background:transparent;border:0;cursor:pointer}.contact-input{width:100%;box-sizing:border-box;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);border-radius:.75rem;padding:.875rem 1.25rem;color:#fff;outline:0}.contact-input::placeholder{color:rgba(255,255,255,.4)}.contact-input:focus{border-color:hsl(var(--primary));background:rgba(255,255,255,.1)}.screen-reader-text{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.wp-block-post-content{max-width:75rem;margin:7rem auto 4rem;padding:0 1.5rem;line-height:1.7}.admin-bar .site-header{top:32px}@media(max-width:782px){.admin-bar .site-header{top:46px}}@media(max-width:640px){.desktop-nav{display:none}.mobile-toggle{display:inline-flex}.site-header .header-inner{height:60px}.site-header img.logo{height:3rem}}

/* Site-wide high contrast accessibility update */
:root{
  --background:0 0% 100%;
  --foreground:222 47% 11%;
  --card:0 0% 100%;
  --card-foreground:222 47% 11%;
  --primary:24 100% 38%;
  --primary-foreground:0 0% 100%;
  --secondary:222 47% 11%;
  --secondary-foreground:0 0% 100%;
  --muted:215 25% 27%;
  --muted-foreground:215 20% 35%;
  --accent:45 100% 42%;
  --accent-foreground:222 47% 11%;
  --border:214 20% 78%;
  --input:214 20% 78%;
  --ring:24 100% 38%;
}

html{scroll-behavior:smooth;}
body{color:hsl(var(--foreground));background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}

.site-header{background:rgba(255,255,255,.98);border-bottom:1px solid hsl(var(--border));box-shadow:0 2px 12px rgba(0,0,0,.12);}
.wp-menu a{color:hsl(var(--foreground));}
.wp-menu a:hover,.wp-menu .current-menu-item>a{background:hsl(var(--primary));color:#fff;}
.mobile-menu{background:#fff;color:hsl(var(--foreground));}

.text-muted,.text-muted-foreground,[class*="text-foreground/"]{color:hsl(var(--foreground))!important;}
[class*="text-muted-foreground/"]{color:hsl(var(--muted-foreground))!important;}
[class*="text-white/"]{color:rgba(255,255,255,.9)!important;}
.bg-secondary [class*="text-white/"],footer [class*="text-muted-foreground/"]{color:rgba(255,255,255,.88)!important;}
footer,footer a,.bg-secondary a{color:#fff;}
footer p,footer .text-sm,footer .space-y-4{color:rgba(255,255,255,.86)!important;}

.btn-primary,.bg-primary{background-color:hsl(var(--primary))!important;color:#fff!important;}
.text-primary{color:hsl(var(--primary))!important;}
.border-primary,.border-primary\/60{border-color:hsl(var(--primary))!important;}
.btn-primary:hover,.hover\:bg-primary\/90:hover,.hover\:bg-primary\/80:hover{background-color:hsl(24 100% 32%)!important;}
.btn-outline{border:2px solid rgba(255,255,255,.85);color:#fff;background:rgba(0,0,0,.1);}
.btn-outline:hover{background:rgba(255,255,255,.18);}

.bg-card,.shadow-md,.shadow-2xl{border-color:hsl(var(--border))!important;}
.border-border\/30,.border-border\/70{border-color:hsl(var(--border))!important;}
.bg-border\/40{background-color:hsl(214 20% 90%)!important;}
.bg-muted\/10,.hover\:bg-muted\/40:hover{background-color:hsl(214 20% 95%)!important;}

.hero-overlay-contrast,.page-hero-contrast{background:linear-gradient(135deg,rgba(17,24,39,.92),rgba(17,24,39,.72) 45%,rgba(17,24,39,.38));}
section[style*="background-image"],img[style*="brightness"]{filter:brightness(.32) contrast(1.12) saturate(.9)!important;}

.contact-input{background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.55);color:#fff;}
.contact-input::placeholder{color:rgba(255,255,255,.75);}
.contact-input:focus{border-color:#fff;background:rgba(255,255,255,.16);box-shadow:0 0 0 3px rgba(255,255,255,.18);}
label,[class*="text-white/50"]{color:rgba(255,255,255,.86)!important;}

button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid hsl(var(--primary));outline-offset:3px;}
.accordion-content{color:hsl(var(--foreground))!important;}
.service-check{color:hsl(var(--primary));}
div[style*="background-image"]{filter:brightness(.32) contrast(1.12) saturate(.9)!important;}
