:root {
  --wsh-c1: #FFFFFF;
  --wsh-c2: #F7F7F7;
  --wsh-c3: #C2C9CF;
  --wsh-c4: #A2ACB5;
  --wsh-c5: #1A1A1A;
  --wsh-c6: #466556;
  --wsh-header-height: 5rem;
  --wsh-admin-offset: 0px;
  --wsh-desktop-inline-gutter: clamp(5rem, 5.291vw, 6.25rem);
}

body.admin-bar { --wsh-admin-offset: 32px; }
body.wsh-production-header.has-wsh-mobile-menu { overflow: hidden; }
body.wsh-production-header #page { padding-top: var(--wsh-header-height); }

.wsh-site-header *, .wsh-site-header *::before, .wsh-site-header *::after,
.wsh-mobile-menu *, .wsh-mobile-menu *::before, .wsh-mobile-menu *::after { box-sizing: border-box; }
.wsh-site-header a, .wsh-mobile-menu a { color: inherit; }
.wsh-site-header button, .wsh-site-header a, .wsh-mobile-menu button, .wsh-mobile-menu a { -webkit-tap-highlight-color: transparent; }
.wsh-site-header button, .wsh-mobile-menu button { color: inherit; font: inherit; }
.wsh-site-header :focus-visible, .wsh-mobile-menu :focus-visible { outline: 0.1875rem solid var(--wsh-c6); outline-offset: 0.25rem; }

.wsh-site-header {
  position: fixed; z-index: 100; inset: var(--wsh-admin-offset) 0 auto; height: var(--wsh-header-height);
  background: var(--wsh-c1); box-shadow: 0 2px 5px rgba(26,26,26,.015), 0 1px 2px rgba(26,26,26,.01);
  color: var(--wsh-c5); font-family: "IBM Plex Sans Thai", sans-serif; transform: translateY(0);
  transition: transform 320ms cubic-bezier(0.4, 0, 0.2, 1);
}
.wsh-site-header.is-hidden { transform: translateY(-100%); }
.wsh-header-shell { display:grid; grid-template-columns:auto minmax(0,1fr) auto; column-gap:clamp(2.8125rem,3vw,3.75rem); align-items:center; width:calc(100% - var(--wsh-desktop-inline-gutter) * 2); height:100%; margin-inline:auto; }
.wsh-wordmark.v21-logo { --ink:var(--wsh-c5); --motion:460ms; --ease:cubic-bezier(.22,1,.36,1); justify-self:start; width:159.463px; height:22px; color:var(--ink); font-family:"IBM Plex Sans Thai",sans-serif; font-size:22px; font-weight:600; letter-spacing:-.025em; line-height:22px; text-decoration:none; white-space:nowrap; position:relative; display:inline-flex; align-items:baseline; vertical-align:baseline; }
.wsh-wordmark.v21-logo > span { pointer-events:none; flex:none; }
.wsh-wordmark .v21-slot { position:relative; display:inline-block; width:11.836px; height:16.28px; overflow:visible; }
.wsh-wordmark .v21-slot svg { display:block; width:18.5px; height:16.28px; overflow:visible; }
.wsh-wordmark .v21-frame { fill:var(--ink); d:path("M1.628 0 H10.362 V14.036 H11.88 V16.28 H10.362 Q8.91 16.28 8.228 15.554 Q7.546 14.828 7.546 13.508 V0 H4.444 V14.036 H5.962 V16.28 H4.444 Q2.992 16.28 2.31 15.554 Q1.628 14.828 1.628 13.508 Z"); transition:d var(--motion) var(--ease) 100ms; }
.wsh-wordmark .v21-panel { transform-box:view-box; transform-origin:70% 50%; transform:scaleX(0); transition:transform 180ms cubic-bezier(.4,0,.6,1); }
.wsh-wordmark .v21-suffix { position:relative; transform:translate3d(0,0,0); will-change:transform; transition:transform var(--motion) var(--ease) 100ms; }
@media (hover:hover) and (pointer:fine) and (min-width:1101px) { .wsh-wordmark.v21-logo:is(:hover,:focus-visible) .v21-frame { d:path("M1.628 0 H16.862 V14.036 H18.38 V16.28 H16.862 Q15.41 16.28 14.728 15.554 Q14.046 14.828 14.046 13.508 V2.4 H4.444 V14.036 H5.962 V16.28 H4.444 Q2.992 16.28 2.31 15.554 Q1.628 14.828 1.628 13.508 Z"); transition-duration:420ms; transition-delay:0ms; } .wsh-wordmark.v21-logo:is(:hover,:focus-visible) .v21-panel { transform:scaleX(1); transition:transform 240ms cubic-bezier(.22,1,.36,1) 140ms; } .wsh-wordmark.v21-logo:is(:hover,:focus-visible) .v21-suffix { transform:translate3d(6.5px,0,0); transition-duration:420ms; transition-delay:0ms; } }
.wsh-desktop-nav { justify-self:end; }
.wsh-desktop-nav-list,.wsh-dropdown-list,.wsh-mobile-nav-list,.wsh-mobile-submenu-list { padding:0; margin:0; list-style:none; }
.wsh-desktop-nav-list { display:flex; align-items:center; gap:1.75rem; }
.wsh-nav-link,.wsh-services-trigger,.wsh-services-trigger:hover,.wsh-services-trigger:focus-visible,.wsh-services-trigger[aria-expanded="true"] { position:relative; display:inline-flex; align-items:center; min-height:2.75rem; padding:0; border:0; background:transparent; color:var(--wsh-c5); font-size:.9375rem; font-weight:500; text-decoration:none; cursor:pointer; }
.wsh-nav-link::after,.wsh-services-trigger::after { position:absolute; right:0; bottom:.35rem; left:0; height:.0625rem; background:currentColor; content:""; transform:scaleX(0); transform-origin:right; transition:transform 180ms ease; }
.wsh-nav-link:hover::after,.wsh-nav-link:focus-visible::after,.wsh-services-trigger:hover::after,.wsh-services-trigger:focus-visible::after,.wsh-services-trigger[aria-expanded="true"]::after { transform:scaleX(1); transform-origin:left; }
.wsh-services-item { position:relative; }
.wsh-services-trigger { gap:.4rem; }
.wsh-chevron { width:.55rem; height:.55rem; border-right:.0625rem solid currentColor; border-bottom:.0625rem solid currentColor; transform:translateY(-.15rem) rotate(45deg); transition:transform 180ms ease; }
.wsh-services-trigger[aria-expanded="true"] .wsh-chevron,.wsh-mobile-services-trigger[aria-expanded="true"] .wsh-chevron { transform:translateY(.1rem) rotate(225deg); }
.wsh-services-dropdown { position:absolute; top:calc(100% + .75rem); left:50%; width:min(22rem,calc(100vw - 2rem)); padding:.65rem 1.1rem; border:.0625rem solid var(--wsh-c3); border-radius:14px; background:var(--wsh-c1); overflow:hidden; opacity:0; visibility:hidden; transform:translate(-50%,-.4rem); transition:opacity 160ms ease,transform 160ms ease,visibility 0s linear 160ms; }
.wsh-services-dropdown.is-open { opacity:1; visibility:visible; transform:translate(-50%,0); transition-delay:0s; }
.wsh-dropdown-link { position:relative; isolation:isolate; display:grid; grid-template-columns:1.75rem 1fr auto; gap:.65rem; align-items:center; min-height:3rem; border:0; border-radius:6px; font-size:.95rem; text-decoration:none; transition:background-color 180ms ease,color 180ms ease; }
.wsh-dropdown-index { color:var(--wsh-c4); font-size:.75rem; font-weight:500; }
.wsh-dropdown-arrow,.wsh-cta-arrow { display:inline-block; transition:transform 180ms ease; }
.wsh-dropdown-link:hover .wsh-dropdown-arrow,.wsh-dropdown-link:focus-visible .wsh-dropdown-arrow { transform:translateX(.25rem); }
.wsh-header-cta,.wsh-mobile-cta { --wsh-c6:#23433C; --wsh-c7:#CAA768; }
.wsh-site-header .wsh-header-cta { position:relative; display:inline-flex; justify-self:end; align-items:center; justify-content:center; gap:16px; width:auto; min-width:174px; height:38px; padding:0 18px; overflow:hidden; border:0; border-radius:999px; background:var(--wsh-c6); box-shadow:none; color:var(--wsh-c1)!important; font-size:.9375rem; font-weight:500; line-height:1.5; text-decoration:none; white-space:nowrap; }
.wsh-header-cta::before { position:absolute; inset:0; z-index:0; border-radius:inherit; background:var(--wsh-c7); content:""; pointer-events:none; transform:scaleY(0); transform-origin:bottom; transition:transform 240ms cubic-bezier(.22,.61,.36,1); }
.wsh-header-cta>span { position:relative; z-index:1; font:inherit; }
.wsh-header-cta:is(:hover,:focus-visible)::before { transform:scaleY(1); }
.wsh-site-header .wsh-header-cta:is(:hover,:focus-visible) { color:var(--wsh-c6)!important; }
.wsh-header-cta:is(:hover,:focus-visible) .wsh-header-cta__viewport,.wsh-mobile-cta:is(:hover,:focus-visible)>span { color:var(--wsh-c6); }
.wsh-mobile-menu .wsh-mobile-cta:is(:hover,:focus-visible) { background:var(--wsh-c7); color:var(--wsh-c6); }
.wsh-site-header .wsh-header-cta:focus-visible { outline:2px solid var(--wsh-c7); outline-offset:3px; }
.wsh-header-cta__viewport { position:relative; display:block; width:18px; height:18px; flex:0 0 18px; overflow:hidden; color:var(--wsh-c7); }
.wsh-mobile-cta>span { color:var(--wsh-c7); font-size:1.35rem; }
.wsh-header-cta__viewport svg { position:absolute; inset:0; display:block; width:18px; height:18px; transform:translate(0,0); transition:transform 240ms cubic-bezier(.22,1,.36,1); }
.wsh-header-cta__viewport svg:last-child { transform:translate(-100%,100%); }
.wsh-header-cta:is(:hover,:focus-visible) svg:first-child { transform:translate(100%,-100%); }
.wsh-header-cta:is(:hover,:focus-visible) svg:last-child { transform:translate(0,0); }

/* Approved Homepage Preview integration, now owned by the Header. */
body.home #page { padding-top:0!important; }
body.home .wsh-site-header { transition:color 190ms cubic-bezier(.22,1,.36,1),box-shadow 190ms cubic-bezier(.22,1,.36,1)!important; }
body.home .wsh-wordmark.v21-logo,body.home .wsh-nav-link,body.home .wsh-services-trigger { transition:color 190ms cubic-bezier(.22,1,.36,1)!important; }
body.home .wsh-wordmark.v21-logo .v21-frame { transition-property:d,fill!important; transition-duration:var(--motion),190ms!important; transition-timing-function:var(--ease),cubic-bezier(.22,1,.36,1)!important; transition-delay:100ms,0ms!important; }
.wsh-site-header .wsh-wordmark.v21-logo .v21-panel>path { fill:currentColor; transition:fill 190ms cubic-bezier(.22,1,.36,1); }
.wsh-site-header .wsh-services-dropdown,.wsh-site-header .wsh-services-dropdown .wsh-dropdown-link,.wsh-site-header .wsh-services-dropdown .wsh-dropdown-arrow { color:var(--wsh-c5); }
/* Services rows: C7 hover/focus with existing directional arrow motion. */
.wsh-site-header .wsh-services-dropdown .wsh-dropdown-link::before { content:""; position:absolute; inset:0 -8px; z-index:-1; border-radius:inherit; background:inherit; pointer-events:none; }
.wsh-site-header .wsh-services-dropdown .wsh-dropdown-link:is(:hover,:focus-visible) { background:#CAA768; color:#23433C; }
.wsh-site-header .wsh-services-dropdown .wsh-dropdown-link:is(:hover,:focus-visible) :is(.wsh-dropdown-index,.wsh-dropdown-arrow) { color:inherit; }
.wsh-site-header .wsh-services-dropdown .wsh-dropdown-index { transition:color 180ms ease; }
.wsh-site-header .wsh-services-dropdown .wsh-dropdown-arrow { margin-right:8px; transition:transform 180ms ease,color 180ms ease; }
.wsh-site-header .wsh-services-trigger { font-size:.9375rem; font-weight:500; line-height:1.5; }
.wsh-mobile-menu-trigger,.wsh-mobile-menu { display:none; }

@media (max-width:1100px) {
  :root { --wsh-header-height:4.75rem; }
  .wsh-header-shell { grid-template-columns:1fr auto; width:100%; }
  .wsh-desktop-nav,.wsh-site-header .wsh-header-cta { display:none; }
  .wsh-site-header .wsh-mobile-menu-trigger { display:inline-flex; align-items:center; min-height:2.75rem; padding:0; border:0; background:transparent; cursor:pointer; }
  .wsh-menu-icon { position:relative; width:26px; height:12px; }
  .wsh-menu-icon::before,.wsh-menu-icon::after { position:absolute; left:0; width:26px; height:2px; border-radius:0; background:currentColor; content:""; scale:none; transform:none; transition:top 180ms ease,transform 180ms ease; }
  .wsh-menu-icon::before { top:0; }
  .wsh-menu-icon::after { top:10px; }
  .wsh-mobile-menu-trigger[aria-expanded="true"] .wsh-menu-icon::before { top:5px; transform:rotate(45deg); }
  .wsh-mobile-menu-trigger[aria-expanded="true"] .wsh-menu-icon::after { top:5px; transform:rotate(-45deg); }
  .wsh-mobile-menu { position:fixed; z-index:90; inset:calc(var(--wsh-admin-offset) + var(--wsh-header-height)) 0 0; display:block; padding:clamp(1.5rem,5vw,3rem) 1.5rem 1.5rem; overflow-y:auto; background:var(--wsh-c1); color:var(--wsh-c5); font-family:"IBM Plex Sans Thai",sans-serif; opacity:0; visibility:hidden; transform:translateY(-.75rem); transition:opacity 180ms ease,transform 180ms ease,visibility 0s linear 180ms; }
  .wsh-mobile-menu.is-open { opacity:1; visibility:visible; transform:translateY(0); transition-delay:0s; }
  .wsh-mobile-menu-inner { display:flex; flex-direction:column; width:min(100%,42rem); min-height:100%; margin-inline:auto; }
  .wsh-mobile-menu .wsh-mobile-nav-link,.wsh-mobile-menu .wsh-mobile-services-trigger { display:flex; justify-content:space-between; align-items:center; width:100%; min-height:3.75rem; padding:.5rem 0; border:0; border-bottom:.0625rem solid var(--wsh-c3); background:transparent; font-size:clamp(1.35rem,4vw,1.8rem); font-weight:500; line-height:1.5; text-align:left; text-decoration:none; }
  .wsh-mobile-menu .wsh-mobile-services-trigger { cursor:pointer; color:inherit; font-family:"IBM Plex Sans Thai",sans-serif; }
  .wsh-mobile-services-trigger .wsh-chevron { margin-right:.3rem; }
  .wsh-mobile-submenu { display:none; padding:.6rem 0 .9rem 1rem; border-bottom:.0625rem solid var(--wsh-c3); }
  .wsh-mobile-submenu.is-open { display:block; }
  .wsh-mobile-submenu-link { display:flex; justify-content:space-between; align-items:center; min-height:3.25rem; font-size:1rem; text-decoration:none; }
  .wsh-mobile-menu .wsh-mobile-cta { display:flex; justify-content:space-between; align-items:center; width:100%; min-height:3.75rem; margin-top:auto; padding:.85rem 1.5rem; border:0; border-radius:999px; background:var(--wsh-c6); color:var(--wsh-c1); font-size:1.1rem; font-weight:600; text-decoration:none; }
}
@media (min-width:768px) and (max-width:1100px) { .wsh-header-shell { padding-right:48px; padding-left:48px; } }
@media (max-width:767px) { body.admin-bar { --wsh-admin-offset:46px; } .wsh-header-shell { padding-right:20px; padding-left:20px; } }
@media (prefers-reduced-motion:reduce) {
  .wsh-wordmark.v21-logo .v21-frame,.wsh-wordmark.v21-logo .v21-panel,.wsh-wordmark.v21-logo .v21-suffix { transition:none!important; transition-delay:0s!important; }
  .wsh-site-header *, .wsh-site-header *::before, .wsh-site-header *::after, .wsh-mobile-menu *, .wsh-mobile-menu *::before, .wsh-mobile-menu *::after { scroll-behavior:auto!important; transition-duration:.001ms!important; animation-duration:.001ms!important; animation-iteration-count:1!important; }
  .wsh-site-header.is-hidden { transform:none; }
  body.home .wsh-site-header,body.home .wsh-wordmark.v21-logo,body.home .wsh-nav-link,body.home .wsh-services-trigger { transition:none!important; }
  .wsh-header-cta:is(:hover,:focus-visible) svg:first-child { transform:translate(0,0); }
  .wsh-header-cta__viewport svg:last-child { display:none; }
}
