.sfh-header{--sfh-width:98%;--sfh-width-shrink:92%;--sfh-max-width:1440px;--sfh-max-width-shrink:1440px;--sfh-height:68px;--sfh-height-shrink:58px;--sfh-padding-x:28px;--sfh-padding-y:12px;--sfh-shrink-padding-x:22px;--sfh-shrink-padding-y:8px;--sfh-radius:22px;--sfh-shrink-radius:19px;--sfh-top-gap:8px;--sfh-blur:20px;--sfh-dark-bg:rgba(13,31,49,.92);--sfh-dark-text:#f5f8ff;--sfh-dark-border:rgba(151,183,211,.25);--sfh-light-bg:rgba(240,246,255,.95);--sfh-light-text:#153451;--sfh-light-border:rgba(39,82,126,.15);--sfh-accent-1:#2864f0;--sfh-accent-2:#0ca9e9;--sfh-menu-size:14px;--sfh-cta-size:12px;--sfh-cta-px:24px;--sfh-cta-py:14px;--sfh-mobile-width:calc(100% - 24px);--sfh-breakpoint:767px;--sfh-transition:.4s;--sfh-logo-width:200px;--sfh-logo-width-shrink:155px;--sfh-logo-width-mobile:92px;--sfh-logo-height:54px;--sfh-logo-height-shrink:42px;--sfh-logo-height-mobile:30px;--sfh-logo-fit:fill;position:fixed!important;top:0;left:0;right:0;width:100%;z-index:99999;margin:0!important;padding:0!important;pointer-events:none;font-family:inherit}
.sfh-header:not(.sfh-is-sticky){position:absolute!important}.sfh-header *{box-sizing:border-box}.sfh-header .sfh-bar{pointer-events:auto;position:relative;display:flex;align-items:center;justify-content:space-between;gap:clamp(12px,2vw,30px);width:var(--sfh-width);max-width:var(--sfh-max-width);min-height:var(--sfh-height);margin:var(--sfh-top-gap) auto 0;padding:var(--sfh-padding-y) var(--sfh-padding-x);border:var(--sfh-border-width,2px) solid var(--sfh-dark-border);border-radius:var(--sfh-radius);background:var(--sfh-dark-bg);color:var(--sfh-dark-text);-webkit-backdrop-filter:blur(var(--sfh-blur));backdrop-filter:blur(var(--sfh-blur));box-shadow:0 8px 28px rgba(0,15,35,.13);transition:width var(--sfh-transition) ease,max-width var(--sfh-transition) ease,min-height var(--sfh-transition) ease,padding var(--sfh-transition) ease,margin var(--sfh-transition) ease,border-radius var(--sfh-transition) ease,background-color var(--sfh-transition) ease,color var(--sfh-transition) ease,border-color var(--sfh-transition) ease,box-shadow var(--sfh-transition) ease}
.sfh-header.sfh-scrolled .sfh-bar{width:var(--sfh-width-shrink);max-width:var(--sfh-max-width-shrink);min-height:var(--sfh-height-shrink);margin-top:var(--sfh-top-gap);padding:var(--sfh-shrink-padding-y) var(--sfh-shrink-padding-x);border-radius:var(--sfh-shrink-radius);box-shadow:0 10px 35px rgba(0,15,35,.16)}
.sfh-header .sfh-logo-light{display:none!important}.sfh-header.sfh-theme-light .sfh-logo-dark{display:none!important}.sfh-header.sfh-theme-light .sfh-logo-light{display:block!important}.sfh-header.sfh-theme-dark .sfh-logo-dark{display:block!important}.sfh-header.sfh-theme-dark .sfh-logo-light{display:none!important}
.sfh-header.sfh-theme-light .sfh-bar{background:var(--sfh-light-bg);color:var(--sfh-light-text);border-color:var(--sfh-light-border);box-shadow:0 8px 28px rgba(25,55,85,.09)}.sfh-header.sfh-theme-dark .sfh-bar{background:var(--sfh-dark-bg);color:var(--sfh-dark-text);border-color:var(--sfh-dark-border)}
.sfh-header .sfh-brand{display:flex;align-items:center;gap:12px;flex:0 1 auto;min-width:0;text-decoration:none!important;color:inherit!important;line-height:1.15}.sfh-header .sfh-logo{display:block;width:var(--sfh-logo-width)!important;max-width:none!important;height:var(--sfh-logo-height)!important;max-height:none!important;object-fit:var(--sfh-logo-fit,contain)!important;flex:0 0 auto;transition:width var(--sfh-transition) ease,height var(--sfh-transition) ease}.sfh-header.sfh-scrolled .sfh-logo{width:var(--sfh-logo-width-shrink)!important;height:var(--sfh-logo-height-shrink)!important;max-width:none!important;max-height:none!important}.sfh-header .sfh-brand-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.sfh-header .sfh-brand-name{font-size:17px;font-weight:700;letter-spacing:-.025em;color:inherit}.sfh-header .sfh-tagline{font-size:9px;letter-spacing:.17em;text-transform:uppercase;opacity:.78;color:inherit}
.sfh-header .sfh-nav{margin-left:auto}.sfh-header .sfh-nav ul{display:flex;align-items:center;justify-content:center;gap:clamp(15px,2vw,32px);list-style:none;margin:0;padding:0}.sfh-header .sfh-nav li{margin:0;padding:0}.sfh-header .sfh-nav a{display:inline-flex;align-items:center;position:relative;padding:8px 0;color:inherit!important;font-size:var(--sfh-menu-size);font-family:var(--sfh-menu-font,inherit);font-weight:400;line-height:1.3;text-decoration:none!important;white-space:nowrap;opacity:.9;transition:opacity .2s ease,color .25s ease}.sfh-header .sfh-nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--sfh-menu-hover-color,currentColor);transform:scaleX(0);transform-origin:left center;transition:transform .28s ease}.sfh-header .sfh-nav a:hover,.sfh-header .sfh-nav a:focus-visible{opacity:1}.sfh-header .sfh-nav a:hover::after,.sfh-header .sfh-nav a:focus-visible::after{transform:scaleX(1)}.sfh-header.sfh-theme-dark .sfh-nav a:hover,.sfh-header.sfh-theme-dark .sfh-nav a:focus-visible{color:var(--sfh-menu-hover-color,#fff)!important}.sfh-header.sfh-theme-light .sfh-nav a:hover,.sfh-header.sfh-theme-light .sfh-nav a:focus-visible{color:var(--sfh-menu-hover-color,var(--sfh-light-text))!important}.sfh-header .sfh-nav a.sfh-active{opacity:1}.sfh-header .sfh-nav a.sfh-active::before{content:"";position:absolute;right:-8px;top:50%;width:4px;height:4px;border-radius:50%;background:linear-gradient(135deg,var(--sfh-menu-dot-start,var(--sfh-accent-1)),var(--sfh-menu-dot-end,var(--sfh-accent-2)));box-shadow:0 0 8px rgba(37,189,238,.8);transform:translateY(-50%)}.sfh-header.sfh-theme-light .sfh-nav a.sfh-active{color:var(--sfh-menu-active-color,var(--sfh-accent-1))!important}.sfh-header.sfh-theme-dark .sfh-nav a.sfh-active{color:var(--sfh-menu-active-color,#fff)!important}
.sfh-header .sfh-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex:0 0 auto;padding:var(--sfh-cta-py) var(--sfh-cta-px);border:0;border-radius:100px;background:linear-gradient(110deg,var(--sfh-accent-1),var(--sfh-accent-2));color:#fff!important;font-size:var(--sfh-cta-size);font-family:var(--sfh-cta-font,inherit);font-weight:600;line-height:1.15;text-align:center;text-decoration:none!important;white-space:nowrap;box-shadow:0 5px 15px rgba(28,106,226,.18);transition:padding var(--sfh-transition) ease,transform .2s ease,box-shadow .2s ease}.sfh-header .sfh-cta:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(28,106,226,.25);background:linear-gradient(110deg,var(--sfh-cta-hover-start,var(--sfh-accent-1)),var(--sfh-cta-hover-end,var(--sfh-accent-2)))!important;color:var(--sfh-cta-hover-text,#fff)!important}.sfh-header.sfh-scrolled .sfh-cta{padding:calc(var(--sfh-cta-py)*.78) calc(var(--sfh-cta-px)*.84)}.sfh-header .sfh-arrow{font-size:1.2em;font-weight:400;line-height:.8}.sfh-header .sfh-mobile-toggle{display:none;appearance:none;border:1px solid currentColor;border-radius:10px;background:transparent;color:inherit;width:40px;height:38px;padding:9px;cursor:pointer}.sfh-header .sfh-mobile-toggle span{display:block;width:100%;height:2px;margin:3px 0;background:currentColor;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
/* Theme switcher classes are set by JS after observing section classes. */
@media(max-width:1100px){.sfh-header .sfh-bar{gap:16px}.sfh-header .sfh-nav ul{gap:15px}.sfh-header .sfh-brand-name{font-size:16px}.sfh-header .sfh-cta{padding:12px 16px}.sfh-header .sfh-nav a{font-size:13px}}
@media(max-width:767px){.sfh-header .sfh-bar,.sfh-header.sfh-scrolled .sfh-bar{width:var(--sfh-mobile-width);max-width:none;min-height:58px;margin-top:8px;padding:8px 14px;gap:10px;border-radius:16px}.sfh-header .sfh-logo,.sfh-header.sfh-scrolled .sfh-logo{width:var(--sfh-logo-width-mobile)!important;max-width:none!important;height:var(--sfh-logo-height-mobile)!important;max-height:none!important}.sfh-header .sfh-brand{gap:8px}.sfh-header .sfh-brand-name{font-size:15px}.sfh-header .sfh-tagline{font-size:8px}.sfh-header .sfh-mobile-toggle{display:block;flex:0 0 38px;margin-left:auto}.sfh-header .sfh-nav{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;width:100%;max-height:min(65vh,420px);overflow:auto;padding:12px;border:var(--sfh-border-width,2px) solid var(--sfh-dark-border);border-radius:15px;background:var(--sfh-dark-bg);color:var(--sfh-dark-text);-webkit-backdrop-filter:blur(var(--sfh-blur));backdrop-filter:blur(var(--sfh-blur));box-shadow:0 12px 28px rgba(0,15,35,.18)}.sfh-header.sfh-theme-light .sfh-nav{background:var(--sfh-light-bg);color:var(--sfh-light-text);border-color:var(--sfh-light-border)}.sfh-header.sfh-menu-open .sfh-nav{display:block}.sfh-header .sfh-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0}.sfh-header .sfh-nav li{width:100%}.sfh-header .sfh-nav a{display:flex;width:100%;padding:12px 10px;font-size:15px;white-space:normal;border-radius:8px}.sfh-header .sfh-nav a:hover{background:rgba(127,157,190,.12)}.sfh-header .sfh-cta{font-size:10px;padding:10px 12px;gap:5px}.sfh-header.sfh-scrolled .sfh-cta{padding:9px 10px}.sfh-header .sfh-arrow{display:none}.sfh-header.sfh-menu-open .sfh-mobile-toggle span:nth-child(1){transform:translateY(5px) rotate(45deg)}.sfh-header.sfh-menu-open .sfh-mobile-toggle span:nth-child(2){opacity:0}.sfh-header.sfh-menu-open .sfh-mobile-toggle span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}}
@media(prefers-reduced-motion:reduce){.sfh-header,.sfh-header *{transition:none!important;scroll-behavior:auto!important}}

/* v1.5.1: reference-style animated perimeter glow, light-theme CTA, and scroll progress. */
.sfh-header{--sfh-ring-1:#38bdf8;--sfh-ring-2:#60a5fa;--sfh-light-cta-bg:#0f2d4a;--sfh-progress-1:#2864f0;--sfh-progress-2:#0ca9e9}
.sfh-header .sfh-cta{position:relative;isolation:isolate;overflow:hidden}

.sfh-header.sfh-theme-light .sfh-cta{background:var(--sfh-light-cta-bg)!important;color:#fff!important;box-shadow:0 5px 15px rgba(15,45,74,.16)}
.sfh-header.sfh-theme-light .sfh-cta:hover{background:var(--sfh-light-cta-bg)!important;color:var(--sfh-cta-hover-text,#fff)!important}
.sfh-header .sfh-scroll-progress,.sfh-scroll-progress-global{position:fixed;left:0;top:0;width:100%;height:3px;z-index:2147483000;pointer-events:none;background:transparent;opacity:1}
.sfh-header .sfh-scroll-progress span,.sfh-scroll-progress-global span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--sfh-progress-1,#2864f0),var(--sfh-progress-2,#0ca9e9));box-shadow:0 0 8px color-mix(in srgb,var(--sfh-progress-2,#0ca9e9) 45%,transparent);transition:width .06s linear}
body.admin-bar .sfh-scroll-progress-global{top:32px}
@media(max-width:782px){body.admin-bar .sfh-scroll-progress-global{top:46px}}
@media(prefers-reduced-motion:reduce){.sfh-header .sfh-scroll-progress span,.sfh-scroll-progress-global span{transition:none}}


/* v1.5.10: keep the reference-style blue lower edge static; only the CTA ring and page progress animate. */
.sfh-header{--sfh-border-width:2px;--sfh-bottom-glow:1}
.sfh-header .sfh-bar{overflow:visible}
.sfh-header .sfh-bar::after{content:"";position:absolute;left:3%;right:3%;bottom:-2px;height:2px;border-radius:99px;background:linear-gradient(90deg,transparent 0%,var(--sfh-ring-2) 18%,var(--sfh-ring-1) 50%,var(--sfh-ring-2) 82%,transparent 100%);opacity:var(--sfh-bottom-glow,1);pointer-events:none;filter:drop-shadow(0 1px 4px color-mix(in srgb,var(--sfh-ring-1) 45%,transparent))}
@media(max-width:767px){.sfh-header .sfh-bar::after{left:5%;right:5%;bottom:-2px}}

/* v1.5.9: reference-style CTA glass reflection. It runs once on hover only. */
.sfh-header .sfh-cta[data-sfh-glass-hover="yes"]{overflow:hidden;isolation:isolate}
.sfh-header .sfh-cta[data-sfh-glass-hover="yes"]::after{content:"";position:absolute;z-index:2;top:-35%;bottom:-35%;left:-70%;width:42%;pointer-events:none;opacity:0;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,0) 25%,rgba(255,255,255,var(--sfh-cta-glass-opacity,.62)) 48%,rgba(255,255,255,.18) 58%,transparent 78%);transform:translateX(-150%) skewX(-18deg);transition:transform .68s cubic-bezier(.2,.7,.2,1),opacity .18s ease}
.sfh-header .sfh-cta[data-sfh-glass-hover="yes"]:hover::after{opacity:1;transform:translateX(430%) skewX(-18deg)}
.sfh-header .sfh-cta[data-sfh-glass-hover="yes"]>span:not(.cta-ring){position:relative;z-index:3}
.sfh-header .sfh-cta[data-sfh-glass-hover="yes"]:not(:hover)::after{opacity:0}
@media(prefers-reduced-motion:reduce){.sfh-header .sfh-cta[data-sfh-glass-hover="yes"]::after{transition:none}}



/* v1.5.15: robust CTA perimeter ring. The gradient angle is driven by sfh.js
   rather than a CSS custom-property keyframe, for consistent Chromium rendering. */
.sfh-header .sfh-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.sfh-header .sfh-cta .cta-ring {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding: 1.5px;
  border-radius: inherit;
  background: conic-gradient(
    from var(--cta-angle, 0deg),
    transparent 0deg 250deg,
    var(--sfh-ring-1, #38bdf8) 282deg,
    var(--sfh-ring-2, #60a5fa) 310deg,
    transparent 345deg 360deg
  );
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
  z-index: 1;
  animation: none !important;
  transition: none !important;
  will-change: background;
}
.sfh-header .sfh-cta > span:not(.cta-ring) {
  position: relative;
  z-index: 3;
}
@media (prefers-reduced-motion: reduce) {
  .sfh-header .sfh-cta .cta-ring { will-change: auto; }
}


/* v1.5.16: reference-style glassmorphism header. Background is translucent,
   with backdrop blur, a soft dark shadow, white inner highlight and subtle edge. */
.sfh-header[data-sfh-glass-header="yes"] .sfh-bar {
  position: relative;
  isolation: isolate;
  -webkit-backdrop-filter: blur(var(--sfh-blur, 20px)) saturate(145%) !important;
  backdrop-filter: blur(var(--sfh-blur, 20px)) saturate(145%) !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.25),
              inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  background-clip: padding-box;
}
.sfh-header[data-sfh-glass-header="yes"].sfh-theme-dark .sfh-bar {
  background: linear-gradient(115deg,
    rgba(11, 26, 44, 0.80),
    rgba(15, 36, 64, 0.76),
    rgba(11, 26, 44, 0.80)) !important;
  color: var(--sfh-dark-text, #f5f8ff);
}
.sfh-header[data-sfh-glass-header="yes"].sfh-theme-light .sfh-bar {
  background: linear-gradient(115deg,
    rgba(245, 249, 255, 0.88),
    rgba(224, 237, 252, 0.78),
    rgba(245, 249, 255, 0.88)) !important;
  border-color: rgba(255, 255, 255, 0.68) !important;
  box-shadow: 0 14px 40px rgba(20, 43, 70, 0.14),
              inset 0 1px 0 rgba(255, 255, 255, 0.82) !important;
  color: var(--sfh-light-text, #153451);
}
@media (max-width: 767px) {
  .sfh-header[data-sfh-glass-header="yes"] .sfh-nav {
    -webkit-backdrop-filter: blur(var(--sfh-blur, 20px)) saturate(145%);
    backdrop-filter: blur(var(--sfh-blur, 20px)) saturate(145%);
  }
  .sfh-header[data-sfh-glass-header="yes"].sfh-theme-dark .sfh-nav {
    background: linear-gradient(115deg, rgba(11,26,44,.94), rgba(15,36,64,.91), rgba(11,26,44,.94));
  }
  .sfh-header[data-sfh-glass-header="yes"].sfh-theme-light .sfh-nav {
    background: linear-gradient(115deg, rgba(245,249,255,.96), rgba(224,237,252,.92), rgba(245,249,255,.96));
  }
}
