.rg-ribbon{background:#1C2438;color:#F5EBDD;font-size:0.88rem;text-align:center;padding:8px 16px;border-bottom:1px solid var(--color-border)}

.site-header{position:sticky;top:0;z-index:1000;background:var(--color-surface-velvet);backdrop-filter:blur(6px);border-bottom:1px solid var(--color-border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:16px}

.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.brand-mark{width:44px;height:auto}
.brand-text{font-family:var(--font-heading);font-size:1.2rem;white-space:nowrap}

.nav-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:44px;min-height:44px;padding:8px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;cursor:pointer}
.nav-toggle-line{width:20px;height:2px;background:var(--color-text-primary);transition:transform var(--transition-fast)}

.nav-header{display:none}
.nav-close{display:none}

.site-nav{}
.nav-list{list-style:none;display:flex;gap:24px;align-items:center;margin:0;padding:0}
.nav-list li{margin:0}
.nav-list a{color:var(--color-text-primary);text-decoration:none;padding:8px 0}
.nav-list a:hover,.nav-list a:focus-visible{color:var(--color-accent)}

.nav-contact a{border-bottom:1px solid var(--color-accent)}

.nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:999;backdrop-filter:blur(2px)}

@media(max-width:900px){
  .nav-toggle{display:flex}

  .nav-header{
    display:flex;
    justify-content:flex-end;
    width:100%;
    margin-bottom:20px;
  }

  .nav-close{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    position:relative;
    min-width:44px;
    min-height:44px;
    width:44px;
    height:44px;
    padding:8px;
    border-radius:var(--radius-sm);
    border:1px solid var(--color-border);
    background:transparent;
    cursor:pointer;
    transition:border-color var(--transition-fast);
  }

  .nav-close-line{
    position:absolute;
    width:20px;
    height:2px;
    background:var(--color-text-primary);
    border-radius:1px;
    transition:background-color var(--transition-fast);
  }

  .nav-close-line:nth-child(1){
    transform:rotate(45deg);
  }

  .nav-close-line:nth-child(2){
    transform:rotate(-45deg);
  }

  .nav-close:hover, .nav-close:focus-visible{
    border-color:var(--color-accent);
  }

  .nav-close:hover .nav-close-line, .nav-close:focus-visible .nav-close-line{
    background:var(--color-accent);
  }

  .site-nav{
    position:fixed;
    top:0;
    right:0;
    height:100vh;
    width:min(320px,85vw);
    background:var(--color-bg-secondary);
    transform:translateX(100%);
    opacity:0;
    visibility:hidden;
    transition:transform var(--transition-medium), opacity var(--transition-medium), visibility var(--transition-medium);
    z-index:1001;
    padding:20px 24px 32px;
    box-shadow:-8px 0 32px rgba(0,0,0,0.5);
    border-left:1px solid var(--color-border);
    display:flex;
    flex-direction:column;
  }

  .site-nav.open{
    transform:translateX(0);
    opacity:1;
    visibility:visible;
  }

  .nav-list{
    flex-direction:column;
    align-items:flex-start;
    gap:20px;
    width:100%;
  }

  .nav-list a{
    font-size:1.1rem;
    display:block;
    width:100%;
  }
}

@media(max-width:480px){
  .rg-ribbon{font-size:0.78rem;padding:6px 12px;}
  .header-inner{min-height:60px;}
  .brand{gap:8px;}
  .brand-mark{width:34px;}
  .brand-text{font-size:1rem;}
}
