
* {
  -webkit-font-smoothing: antialiased;   /* For WebKit (Safari, Chrome) */
  -moz-osx-font-smoothing: grayscale;    /* For macOS Firefox */
  font-smoothing: antialiased;           /* Non-standard, fallback */
  text-rendering: optimizeLegibility;    /* Improves kerning and ligatures */
}


/* WK-15: full-screen mobile navigation, shared by both header states. */
@media screen and (max-width: 991px) {
  [nav-static] .menu-button, [nav-sticky] .menu-button {
    min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center;
  }
  [data-mobile-menu-open] {
    position: fixed !important; inset: 0 !important; width: 100% !important;
    height: 100vh !important; height: 100dvh !important; max-height: none !important;
    transform: none !important; translate: none !important; scale: none !important;
    opacity: 1 !important; visibility: visible !important; overflow: hidden !important;
    z-index: 10000 !important; background: #f7f7f2 !important;
  }
  [data-mobile-menu-open] .navbar {
    position: static !important; height: 100% !important; max-height: none !important;
    background: #f7f7f2 !important; transform: none !important; overflow: visible !important;
  }
  [data-mobile-menu-open] .nav-container, [data-mobile-menu-open] .left-nav {
    position: static !important; transform: none !important;
  }
  [data-mobile-menu-open] .brand-navbar {
    position: absolute !important; left: max(24px, env(safe-area-inset-left)) !important;
    top: calc(26px + env(safe-area-inset-top)) !important; width: 140px !important;
    margin: 0 !important; z-index: 3 !important;
  }
  [data-mobile-menu-open] .menu-button {
    position: absolute !important; right: max(16px, env(safe-area-inset-right)) !important;
    top: calc(14px + env(safe-area-inset-top)) !important;
    width: 48px !important; height: 48px !important; margin: 0 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    padding: 0 !important; z-index: 4 !important; color: #2d2b2b !important;
    background: transparent !important; border: 1px solid #d5d4ce; border-radius: 50%;
  }
  [data-mobile-menu-open] .brand-navbar .code-embed-2 { width: 100% !important; }
  [data-mobile-menu-open] .menu-button-inner, [data-mobile-menu-open] .icon-menu {
    width: 24px !important; height: 24px !important; border: 0 !important;
  }
  [data-mobile-menu-open] .menu-button-inner.open { display: none !important; }
  [data-mobile-menu-open] .menu-button-inner.close { display: flex !important; }
  [data-mobile-menu-open] .nav-container > .cta-small,
  [data-mobile-menu-open] .nav-blur,
  [data-mobile-menu-open] .nav-top-bg { display: none !important; }
  [data-mobile-menu-open] .w-nav-overlay {
    position: absolute !important; top: calc(80px + env(safe-area-inset-top)) !important;
    left: 0 !important; right: 0 !important; bottom: 0 !important;
    width: 100% !important; height: auto !important; max-height: none !important;
    overflow: hidden !important; background: #f7f7f2 !important;
  }
  [data-mobile-menu-open] .nav-menu {
    position: absolute !important; inset: 0 !important; width: 100% !important;
    height: 100% !important; max-height: none !important; margin: 0 !important;
    padding: 0 !important; transform: none !important; transition: none !important;
    overflow-y: auto !important; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
    background: #f7f7f2 !important;
  }
  [data-mobile-menu-open] .nav-menu > :not(.vaara-mobile-panel) { display: none !important; }
  [data-mobile-menu-open] .vaara-mobile-panel {
    display: flex !important; flex-direction: column; justify-content: space-between;
    min-height: 100%; gap: 48px; width: 100%; box-sizing: border-box; text-align: left;
    padding: 32px max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));
  }
  .vaara-mobile-links { display: flex; flex-direction: column; gap: 8px; }
  .vaara-mobile-link {
    display: block; padding: 10px 0; font-family: "IBM Plex Serif", Georgia, serif;
    font-size: clamp(32px, 10vw, 40px); font-weight: 400; line-height: 1.35;
    letter-spacing: -0.025em; text-decoration: none; color: #2d2b2b;
  }
  .vaara-mobile-cta {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    width: 100%; min-height: 60px; padding: 18px 22px; box-sizing: border-box;
    border-radius: 12px; background: #2d2b2b; color: #f7f7f2;
    font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: none;
  }
  [data-mobile-menu-open] a:focus-visible, [data-mobile-menu-open] .menu-button:focus-visible {
    outline: 2px solid #2d2b2b; outline-offset: 5px;
  }
  [data-mobile-menu-open] .vaara-mobile-cta:focus-visible { outline-offset: 4px; }
}
@media screen and (max-width: 991px) and (max-height: 500px) {
  [data-mobile-menu-open] .vaara-mobile-panel { padding-top: 12px; gap: 28px; }
  .vaara-mobile-links { gap: 0; }
  .vaara-mobile-link { font-size: 32px; padding: 7px 0; }
}
@media (prefers-reduced-motion: reduce) {
  [data-mobile-menu-open], [data-mobile-menu-open] * { animation: none !important; transition: none !important; }
}


/* WK-15 motion refinement: soft, overlapping entrances with stable compositing. */
@keyframes vaara-menu-enter {
  from { opacity: 0; transform: translate3d(0, 8px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@media screen and (max-width: 991px) and (prefers-reduced-motion: no-preference) {
  [data-mobile-menu-open] .vaara-mobile-link,
  [data-mobile-menu-open] .vaara-mobile-cta {
    animation-name: vaara-menu-enter;
    animation-duration: 800ms;
    animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
    animation-fill-mode: both;
    animation-iteration-count: 1;
    will-change: transform, opacity;
  }
  [data-mobile-menu-open] .vaara-mobile-link:nth-child(1) { animation-delay: 0ms; }
  [data-mobile-menu-open] .vaara-mobile-link:nth-child(2) { animation-delay: 45ms; }
  [data-mobile-menu-open] .vaara-mobile-link:nth-child(3) { animation-delay: 90ms; }
  [data-mobile-menu-open] .vaara-mobile-link:nth-child(4) { animation-delay: 135ms; }
  [data-mobile-menu-open] .vaara-mobile-cta { animation-delay: 200ms; }
}


/* Case cards: masked image zoom and focus within each card grid. */
.case-grid-2026 .case-card-2026 {
  opacity: 1;
  transition: opacity 650ms cubic-bezier(.22, 1, .36, 1);
}
.case-grid-2026 .case-cover-2026 {
  overflow: hidden;
  border-radius: 12px;
}
.case-grid-2026 .case-cover-image-2026 {
  transform: scale(1);
  transform-origin: 50% 50%;
  transition: transform 650ms cubic-bezier(.22, 1, .36, 1);
}
@media (hover: hover) and (pointer: fine) {
  .case-grid-2026 .case-card-2026:hover { background-color: #f8f7f3; }
  .case-grid-2026 .case-card-2026:hover .case-cover-image-2026 { transform: scale(1.1); }
  .case-grid-2026:has(.case-card-2026:hover) .case-card-2026:not(:hover) { opacity: .3; }
}
@media (prefers-reduced-motion: reduce) {
  .case-grid-2026 .case-card-2026,
  .case-grid-2026 .case-cover-image-2026 { transition: none; }
}


/* Homepage latest insights: native CMS, scoped presentation */
#latest-insights{padding:48px 32px 96px;color:#292826;}
#latest-insights>[data-insights="header"],#latest-insights>.w-dyn-list{width:100%;max-width:1440px;margin-left:auto;margin-right:auto}
#latest-insights [data-insights="header"]{display:grid;grid-template-columns:1fr auto;column-gap:32px;row-gap:16px;align-items:end;margin-bottom:40px}
#latest-insights h2{font-family:Georgia,Times,"Times New Roman",serif;font-size:56px;line-height:1.08;font-weight:400;letter-spacing:-.025em;margin:0;grid-column:1}
#latest-insights [data-insights="header"] p{font-size:18px;line-height:1.5;color:#625f59;margin:0;grid-column:1}
#latest-insights [data-insights="header"]>a{grid-column:2;grid-row:1 / 3;align-self:end;font-size:16px;font-weight:500;padding:12px 0;color:inherit;text-decoration:none}
#latest-insights [data-insights="header"]>a:hover{text-decoration:underline;text-underline-offset:5px}
#latest-insights .w-dyn-items{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:32px!important}
#latest-insights .w-dyn-item{min-width:0;width:100%;padding:0}
#latest-insights [data-insights="card"]{display:flex;flex-direction:column;gap:0;height:100%;width:100%;border:0!important;border-radius:0;background:transparent!important;padding:0!important;color:inherit;text-decoration:none}
#latest-insights [data-insights="image-mask"]{width:100%;height:auto!important;aspect-ratio:3/2;overflow:hidden;border-radius:16px;position:relative;flex:none}
#latest-insights [data-insights="image"]{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1);transition:transform .65s cubic-bezier(.22,1,.36,1)}
#latest-insights [data-insights="content"]{padding:22px 0 0!important;display:flex;flex-direction:column;gap:12px;background:transparent!important}
#latest-insights [data-insights="meta"]{display:block;padding:0;margin:0;border:0}
#latest-insights [data-insights="date"]{font-family:inherit;font-size:14px;font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none;color:#706d67}
#latest-insights [data-insights="title"]{font-family:Georgia,Times,"Times New Roman",serif;font-size:32px;font-weight:400;line-height:1.16;letter-spacing:-.025em;margin:0;max-width:95%;color:#292826}
#latest-insights a:focus-visible{outline:2px solid #625f59;outline-offset:7px;border-radius:4px}
@media(hover:hover) and (pointer:fine){#latest-insights [data-insights="card"]:hover [data-insights="image"]{transform:scale(1.06)}}
@media(max-width:991px){#latest-insights{padding:40px 24px 80px}#latest-insights .w-dyn-items{gap:24px!important}#latest-insights [data-insights="title"]{font-size:27px}}
@media(max-width:767px){#latest-insights{padding:32px 20px 64px}#latest-insights [data-insights="header"]{grid-template-columns:1fr;row-gap:16px;margin-bottom:32px}#latest-insights h2{font-size:40px}#latest-insights [data-insights="header"]>a{grid-column:1;grid-row:auto;justify-self:start;padding:4px 0}#latest-insights [data-insights="header"] p{font-size:17px}#latest-insights .w-dyn-items{grid-template-columns:1fr!important;gap:40px!important}#latest-insights [data-insights="title"]{font-size:30px;max-width:100%}#latest-insights [data-insights="content"]{padding-top:18px!important;gap:10px}}
@media(prefers-reduced-motion:reduce){#latest-insights *,#latest-insights *::before{transition:none!important;animation:none!important;filter:none!important}}
