/* Vulnary masthead on CONTENT pages. Self-contained (own tokens) so it renders
   identically to the home masthead (which vulnary.css styles). Sticky + solid
   bg because the home-only scroll-solidify JS doesn't run on content pages. */
.top{
  --ice:#67d3e8; --baby:#a9cbff; --fg:#eaf0fb; --fg-dim:#aebdd9; --fg-faint:#6f80a3;
  --line:rgba(140,165,215,.14); --line-2:rgba(140,165,215,.28); --maxw:1280px;
  --disp:'Fraunces',Georgia,serif; --mono:'Geist Mono',ui-monospace,monospace; --body:'Source Serif 4',Georgia,serif;
  position:sticky; top:0; z-index:50; backdrop-filter:blur(8px);
  background:rgba(4,7,15,.92); border-bottom:1px solid var(--line);
}
.top .wrap{max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,5vw,72px)}
.top .bar{display:flex; align-items:center; justify-content:space-between; height:74px}
.top .brand{display:flex; align-items:center; gap:12px; text-decoration:none}
.top .brand svg{width:26px; height:26px; overflow:visible}
.top .brand .wm{font-family:var(--disp); font-weight:500; font-size:1.42rem; letter-spacing:.12em; color:var(--fg)}
.top .brand .wm b{color:var(--ice); font-weight:500}
.top .nav{display:flex; gap:30px; align-items:center}
.top .nav a{font-family:var(--mono); font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--fg-faint); position:relative; padding:6px 0; transition:color .3s; text-decoration:none}
.top .nav a::after{content:""; position:absolute; left:0; bottom:0; height:1px; width:0; background:var(--ice); transition:width .35s cubic-bezier(.16,1,.3,1)}
.top .nav a:hover{color:var(--fg)} .top .nav a:hover::after{width:100%}
.top .nav .eng{color:var(--baby); border:1px solid var(--line-2); padding:9px 16px; border-radius:2px}
.top .nav .eng:hover{border-color:var(--ice); background:rgba(103,211,232,.06)}
.top .nav .eng::after{display:none}
.top .nav .res{position:relative}
.top .nav .res summary{list-style:none;cursor:pointer;font-family:var(--mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-faint);transition:color .3s}
.top .nav .res summary::-webkit-details-marker{display:none}
.top .nav .res summary::after{content:" \25BE"}
.top .nav .res[open] summary,.top .nav .res summary:hover{color:var(--fg)}
.top .nav .res-menu{position:absolute;right:0;top:160%;min-width:16rem;background:rgba(7,11,22,.97);border:1px solid var(--line-2);border-radius:6px;padding:8px;display:flex;flex-direction:column;backdrop-filter:blur(8px);box-shadow:0 30px 60px -30px rgba(0,0,0,.9);z-index:60}
.top .nav .res-menu a{font-family:var(--body);font-size:.95rem;letter-spacing:0;text-transform:none;color:var(--fg-dim);padding:9px 12px;border-radius:4px;transition:.2s;text-decoration:none}
.top .nav .res-menu a:hover{background:rgba(103,211,232,.08);color:var(--fg)}
@media(max-width:880px){.top .nav{gap:16px}.top .nav a:not(.eng){font-size:.6rem;letter-spacing:.1em}.top .nav .res summary{font-size:.6rem;letter-spacing:.1em}}
