:root{
  --sf-ink:#14213A;
  --sf-ink-soft:#4A5578;
  --sf-bg:#FCFBF8;
  --sf-gold:#F2A93B;
  --sf-gold-deep:#E08A1E;
  --sf-teal:#1F7A6C;
  --sf-teal-soft:#E8F3EE;
  --sf-line:rgba(20,33,58,0.08);
  --sf-header-h:80px;
  --sf-header-h-scrolled:64px;
  --sf-shadow:0 8px 30px rgba(20,33,58,0.08);
}

.sf-header, .sf-header *{ box-sizing:border-box; }

.sf-header{
  position:sticky;
  top:0; left:0; right:0;
  z-index:1000;
  height:var(--sf-header-h);
  display:flex;
  align-items:center;
  background:rgba(252,251,248,0.7);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;
  transition:height .35s ease, background .35s ease, box-shadow .35s ease;
  font-family:'Inter',system-ui,sans-serif;
}
.sf-header.is-scrolled{
  height:var(--sf-header-h-scrolled);
  background:rgba(252,251,248,0.96);
  box-shadow:var(--sf-shadow);
}

.sf-flow-line{
  position:absolute;
  left:0; right:0; bottom:-1px;
  height:2px;
  background:linear-gradient(90deg, transparent 0%, var(--sf-teal) 15%, var(--sf-gold) 50%, var(--sf-teal) 85%, transparent 100%);
  background-size:200% 100%;
  animation:sfFlow 7s linear infinite;
  opacity:.55;
}
@media (prefers-reduced-motion: reduce){ .sf-flow-line{ animation:none; } }
@keyframes sfFlow{ 0%{background-position:0% 0;} 100%{background-position:-200% 0;} }

.sf-header-inner{
  width:100%;
  max-width:1240px;
  margin:0 auto;
  padding:0 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.sf-brand{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
  color:var(--sf-ink);
  text-decoration:none;
}
.sf-brand-mark{ width:34px; height:34px; flex-shrink:0; }
.sf-brand-word{
  font-family:'Space Grotesk',sans-serif;
  font-weight:700;
  font-size:20px;
  letter-spacing:-0.01em;
  line-height:1;
  white-space:nowrap;
}
.sf-brand-word span{ color:var(--sf-teal); }

.sf-nav{
  display:flex;
  align-items:center;
  gap:4px;
  flex:1;
  justify-content:center;
}
.sf-nav a{
  position:relative;
  font-size:15px;
  font-weight:500;
  color:var(--sf-ink-soft);
  padding:10px 14px;
  border-radius:8px;
  text-decoration:none;
  transition:color .2s ease;
  white-space:nowrap;
}
.sf-nav a:hover, .sf-nav a:focus-visible{ color:var(--sf-ink); }
.sf-nav a::after{
  content:"";
  position:absolute;
  left:14px; right:14px; bottom:4px;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,var(--sf-teal),var(--sf-gold));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .28s ease;
}
.sf-nav a:hover::after, .sf-nav a:focus-visible::after{ transform:scaleX(1); }
.sf-nav a:focus-visible{ outline:2px solid var(--sf-teal); outline-offset:2px; }

.sf-header-actions{ display:flex; align-items:center; gap:14px; flex-shrink:0; }

.sf-btn-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:linear-gradient(120deg,var(--sf-gold) 0%,var(--sf-gold-deep) 100%);
  color:#20140A;
  font-weight:600;
  font-size:14px;
  padding:11px 20px;
  border-radius:999px;
  box-shadow:0 4px 14px rgba(224,138,30,0.35);
  transition:transform .2s ease, box-shadow .2s ease;
  white-space:nowrap;
  text-decoration:none;
}
.sf-btn-cta:hover{ transform:translateY(-1px); box-shadow:0 6px 18px rgba(224,138,30,0.45); }
.sf-btn-cta:focus-visible{ outline:2px solid var(--sf-ink); outline-offset:3px; }

.sf-menu-toggle{
  display:none;
  width:40px; height:40px;
  border:none; background:transparent;
  cursor:pointer; position:relative; flex-shrink:0;
  padding:0;
}
.sf-menu-toggle span{
  position:absolute; left:8px; right:8px; height:2px;
  background:var(--sf-ink); border-radius:2px;
  transition:transform .3s ease, opacity .3s ease, top .3s ease;
}
.sf-menu-toggle span:nth-child(1){ top:13px; }
.sf-menu-toggle span:nth-child(2){ top:19px; }
.sf-menu-toggle span:nth-child(3){ top:25px; }
.sf-menu-toggle:focus-visible{ outline:2px solid var(--sf-teal); outline-offset:2px; }
.sf-menu-toggle.is-open span:nth-child(1){ top:19px; transform:rotate(45deg); }
.sf-menu-toggle.is-open span:nth-child(2){ opacity:0; }
.sf-menu-toggle.is-open span:nth-child(3){ top:19px; transform:rotate(-45deg); }

.sf-mobile-nav{
  position:fixed; inset:0; top:var(--sf-header-h-scrolled);
  background:
    radial-gradient(circle at 20% 0%, rgba(31,122,108,0.10), transparent 55%),
    radial-gradient(circle at 90% 20%, rgba(242,169,59,0.14), transparent 55%),
    var(--sf-bg);
  z-index:999;
  display:flex; flex-direction:column;
  padding:28px 28px 32px;
  transform:translateY(-8px);
  opacity:0; pointer-events:none; visibility:hidden;
  transition:opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
  overflow-y:auto;
  font-family:'Inter',system-ui,sans-serif;
}
.sf-mobile-nav.is-open{
  opacity:1; transform:translateY(0); pointer-events:auto; visibility:visible;
  transition:opacity .3s ease, transform .3s ease;
}
.sf-mobile-nav a{
  font-family:'Space Grotesk',sans-serif;
  font-size:26px; font-weight:600;
  padding:16px 4px;
  border-bottom:1px solid var(--sf-line);
  color:var(--sf-ink);
  text-decoration:none;
}
.sf-mobile-nav a:focus-visible{ outline:2px solid var(--sf-teal); outline-offset:4px; }
.sf-mobile-nav .sf-btn-cta{ margin-top:24px; justify-content:center; font-size:16px; padding:16px 20px; border-bottom:none; }

body.sf-nav-locked{ overflow:hidden; }

@media (max-width: 900px){
  .sf-nav{ display:none; }
  .sf-header-actions .sf-btn-cta{ display:none; }
  .sf-menu-toggle{ display:block; }
}