/* Forttic — shared site navigation */

.site-header{
  position:sticky;top:0;z-index:50;
}
.site-header.is-scrolled{
  box-shadow:var(--shadow);
}

.promo{
  display:none;
  background:var(--ink);color:var(--cream);
  font-size:13px;text-align:center;padding:10px 16px;
  font-weight:500;letter-spacing:0.01em;
}
.site-header.is-scrolled .promo{
  display:none;
}
.promo strong{color:var(--butter);font-weight:700;margin-right:6px;}
.promo a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

nav{
  position:relative;
  background:rgba(251,247,239,0.88);backdrop-filter:saturate(140%) blur(14px);
  border-bottom:1px solid var(--ink-line);
  transition:border-color .2s ease, padding .2s ease;
}
.site-header.is-scrolled nav{
  background:rgba(251,247,239,0.96);
  border-bottom-color:transparent;
  padding:12px 16px 14px;
}
.nav-inner{
  max-width:1280px;margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;gap:20px;
  transition:max-width .2s ease, padding .2s ease, gap .2s ease, border-radius .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
.brand{
  display:flex;align-items:center;
  flex-shrink:0;line-height:0;
  text-decoration:none;color:inherit;
}
.brand:focus-visible{
  outline:2px solid var(--teal);
  outline-offset:4px;border-radius:6px;
}
.brand-logo{
  display:block;height:34px;width:auto;max-width:min(140px, 42vw);
  transition:height .2s ease, max-width .2s ease;
}
.brand-letter{
  display:block;height:18px;width:auto;max-width:min(136px, 56vw);
}
.brand--footer{display:inline-flex;}

.foot-social{margin-top:18px;}
.foot-social-link{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13.5px;color:#D5DAE3;
  transition:color .15s ease;
}
.foot-social-link:hover{color:var(--butter);}
.foot-social-icon{width:18px;height:18px;flex-shrink:0;}

.nav-link-ai{gap:7px;}
.nav-ai-icon{
  width:16px;height:16px;flex-shrink:0;
  color:var(--teal);
  transition:color .15s ease, transform .15s ease;
}
.nav-link-ai:hover .nav-ai-icon,
.nav-link-ai.is-active .nav-ai-icon{color:var(--ink);}
.nav-link-ai.is-active .nav-ai-icon{color:var(--teal);}

.nav-menu{display:contents;}
.nav-links{
  list-style:none;display:flex;align-items:center;gap:2px;
  flex:1;justify-content:center;margin:0;padding:0;
}
.nav-item{position:relative;}
.nav-link,
.nav-trigger{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 14px;border-radius:999px;
  font-size:14px;font-weight:500;color:var(--ink-soft);
  white-space:nowrap;transition:color .15s ease, background .15s ease;
}
.nav-link:hover,
.nav-trigger:hover,
.nav-item.is-open > .nav-trigger,
.nav-link.is-active{color:var(--ink);background:rgba(14,22,34,0.06);font-weight:600;}
.nav-link-ai:focus-visible,
.nav-trigger:focus-visible{
  outline:2px solid var(--teal);
  outline-offset:2px;
}
.nav-item.has-dropdown:focus-within > .nav-dropdown{
  opacity:1;visibility:visible;pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.nav-item.has-dropdown:focus-within > .nav-trigger .nav-chevron{
  transform:rotate(180deg);opacity:0.85;
}
@media (max-width:1100px){
  .nav-item.has-dropdown:focus-within > .nav-dropdown{display:block;}
}

.nav-chevron{
  width:10px;height:10px;flex-shrink:0;
  transition:transform .2s ease;
  opacity:0.55;
}
.nav-item.is-open > .nav-trigger .nav-chevron{transform:rotate(180deg);opacity:0.85;}

.nav-dropdown{
  list-style:none;margin:0;padding:8px;
  position:absolute;top:100%;left:50%;
  min-width:232px;
  background:var(--paper);
  border:1px solid var(--ink-line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-lg);
  opacity:0;visibility:hidden;pointer-events:none;
  transform:translateX(-50%) translateY(6px);
  transition:opacity .18s ease, visibility .18s ease, transform .18s ease;
}
.nav-dropdown::before{
  content:"";
  position:absolute;left:0;right:0;top:-14px;height:14px;
}
.nav-item.is-open > .nav-dropdown{
  opacity:1;visibility:visible;pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.nav-dropdown a{
  display:block;padding:10px 14px;border-radius:var(--radius-sm);
  font-size:14px;font-weight:500;color:var(--ink-soft);
  transition:background .12s ease, color .12s ease;
}
.nav-dropdown a:hover{background:var(--cream-deep);color:var(--ink);}
.nav-dropdown a.is-active{color:var(--ink);font-weight:600;background:var(--cream-deep);}

.nav-cta{margin-left:0;display:flex;gap:10px;align-items:center;flex-shrink:0;}
.nav-cta .btn{white-space:nowrap;padding:10px 18px;font-size:13.5px;transition:padding .2s ease, font-size .2s ease;}
.nav-cta .btn-line{
  border-color:var(--ink-line);
  background:rgba(255,255,255,0.5);
  color:var(--ink);
}
.nav-cta .btn-line:hover,
.site-header.is-scrolled .nav-cta .btn-line:hover{
  border-color:var(--ink);
  background:var(--ink);
  color:var(--cream);
}

.nav-toggle{
  display:none;width:44px;height:44px;border-radius:var(--radius-sm);
  border:1px solid var(--ink-line);background:var(--paper);
  align-items:center;justify-content:center;flex-direction:column;gap:5px;
  margin-left:auto;flex-shrink:0;
}
.nav-toggle span{display:block;width:18px;height:2px;background:var(--ink);border-radius:1px;transition:transform .2s, opacity .2s;}
nav.is-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
nav.is-open .nav-toggle span:nth-child(2){opacity:0;}
nav.is-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
body.nav-open{overflow:hidden;}

/* Desktop — compact centered bar on scroll */
@media (min-width:1101px){
  .nav-inner{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    column-gap:16px;
  }
  .brand{grid-column:1;justify-self:start;min-width:0;}
  .nav-links{grid-column:2;justify-self:center;flex:none;min-width:0;}
  .nav-cta{grid-column:3;justify-self:end;min-width:0;}

  .site-header.is-scrolled .nav-inner{
    max-width:920px;
    padding:10px 20px 10px 22px;
    gap:14px;
    column-gap:12px;
    border-radius:999px;
    border:1px solid var(--ink-line);
    background:rgba(255,255,255,0.72);
    backdrop-filter:saturate(140%) blur(12px);
    box-shadow:var(--shadow-sm);
  }
  .site-header.is-scrolled .brand-logo{height:30px;max-width:124px;}
  .site-header.is-scrolled .nav-links{
    justify-self:center;
    transform:translateX(-28px);
    gap:2px;
    max-width:100%;
  }
  .site-header.is-scrolled .nav-link,
  .site-header.is-scrolled .nav-trigger{padding:8px 12px;font-size:14px;gap:4px;}
  .site-header.is-scrolled .nav-chevron{width:9px;height:9px;}
  .site-header.is-scrolled .nav-cta{gap:8px;flex-shrink:0;}
  .site-header.is-scrolled .nav-cta .btn{padding:9px 18px;font-size:14px;}
  .site-header.is-scrolled .nav-cta .btn-line{
    padding:9px 16px;
    border-color:var(--ink-line);
    background:rgba(255,255,255,0.55);
    color:var(--ink);
  }
  .site-header.is-scrolled .nav-cta .btn-line:hover{
    border-color:var(--ink);
    background:var(--ink);
    color:var(--cream);
  }
}

@media (max-width:1100px){
  .nav-inner{position:relative;gap:16px;padding:12px 20px;}
  .site-header.is-scrolled nav{padding:0;}
  .nav-toggle{display:flex;}
  .nav-menu{
    display:none;position:absolute;top:100%;left:0;right:0;z-index:60;
    background:rgba(251,247,239,0.98);backdrop-filter:saturate(140%) blur(14px);
    border-bottom:1px solid var(--ink-line);padding:8px 20px 20px;
    flex-direction:column;gap:12px;box-shadow:var(--shadow);
  }
  nav.is-open .nav-menu{display:flex;}
  .nav-links{
    flex-direction:column;align-items:stretch;gap:0;width:100%;
  }
  .nav-item{width:100%;border-bottom:1px solid var(--ink-faint);}
  .nav-item:last-child{border-bottom:0;}
  .nav-link,
  .nav-trigger{
    width:100%;justify-content:space-between;
    padding:14px 4px;border-radius:0;background:transparent;
    font-size:15px;
  }
  .nav-link:hover,
  .nav-trigger:hover,
  .nav-item.is-open > .nav-trigger{background:transparent;}
  .nav-dropdown{
    position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;
    display:none;min-width:0;width:100%;
    background:transparent;border:0;border-radius:0;box-shadow:none;
    padding:0 0 8px 12px;
  }
  .nav-dropdown::before{display:none;}
  .nav-item.is-open > .nav-dropdown{display:block;}
  .nav-dropdown a{
    padding:11px 8px;font-size:14.5px;
    border-bottom:1px solid var(--ink-faint);
  }
  .nav-dropdown li:last-child a{border-bottom:0;}
  .nav-cta{margin-left:0;flex-direction:column;width:100%;gap:10px;padding-top:4px;}
  .nav-cta .btn{width:100%;justify-content:center;white-space:normal;text-align:center;}

  .site-header.is-scrolled .nav-inner{padding:10px 20px;}
  .site-header.is-scrolled .brand-logo{height:28px;max-width:114px;}
}

@media (max-width:680px){
  .nav-inner{padding:10px 16px;}
  .nav-menu{padding:4px 16px 16px;}
  .brand-logo{height:30px;}
  .promo{font-size:12px;line-height:1.45;padding:10px 12px;}
}
